@mhmo91/schmancy 0.0.292 → 0.1.0
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/{animated-text-BelKfCRb.js → animated-text-BEs62aGi.js} +3 -3
- package/dist/{animated-text-BelKfCRb.js.map → animated-text-BEs62aGi.js.map} +1 -1
- package/dist/{animated-text-BYy49xv3.cjs → animated-text-bpjLHVrJ.cjs} +2 -2
- package/dist/{animated-text-BYy49xv3.cjs.map → animated-text-bpjLHVrJ.cjs.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/{area.component-BIircYdd.js → area.component-CALvijTk.js} +9 -9
- package/dist/area.component-CALvijTk.js.map +1 -0
- package/dist/{area.component-BAx9ljt5.cjs → area.component-n1vVLLtU.cjs} +3 -3
- package/dist/area.component-n1vVLLtU.cjs.map +1 -0
- package/dist/area.js +1 -1
- package/dist/{autocomplete-C-u4ICfa.js → autocomplete-BOF6Xp6-.js} +3 -3
- package/dist/{autocomplete-C-u4ICfa.js.map → autocomplete-BOF6Xp6-.js.map} +1 -1
- package/dist/{autocomplete-ecQ92UGe.cjs → autocomplete-DO0n5Jj_.cjs} +2 -2
- package/dist/{autocomplete-ecQ92UGe.cjs.map → autocomplete-DO0n5Jj_.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-BUrYs8Dg.js → checkbox-CN0Qnfgt.js} +3 -3
- package/dist/checkbox-CN0Qnfgt.js.map +1 -0
- package/dist/{checkbox-DeVnlyJb.cjs → checkbox-DVsTquW5.cjs} +3 -3
- package/dist/checkbox-DVsTquW5.cjs.map +1 -0
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-DjiRqUBT.cjs → chips-BSB3gB9k.cjs} +2 -2
- package/dist/{chips-DjiRqUBT.cjs.map → chips-BSB3gB9k.cjs.map} +1 -1
- package/dist/{chips-BkjDE2Cx.js → chips-C2_LRVqx.js} +3 -3
- package/dist/{chips-BkjDE2Cx.js.map → chips-C2_LRVqx.js.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-BirYELq7.cjs → date-range-C8Lb-puJ.cjs} +2 -2
- package/dist/{date-range-BirYELq7.cjs.map → date-range-C8Lb-puJ.cjs.map} +1 -1
- package/dist/{date-range-BIdEZhGK.js → date-range-DpkivW9V.js} +3 -3
- package/dist/{date-range-BIdEZhGK.js.map → date-range-DpkivW9V.js.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-DGHDipnV.js → delay-3km-O8EO.js} +2 -2
- package/dist/{delay-DGHDipnV.js.map → delay-3km-O8EO.js.map} +1 -1
- package/dist/{delay-CqrzARsM.cjs → delay-BTjvUbKX.cjs} +2 -2
- package/dist/{delay-CqrzARsM.cjs.map → delay-BTjvUbKX.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{divider-DcEj-C2P.cjs → divider-DxeR9U-g.cjs} +5 -5
- package/dist/divider-DxeR9U-g.cjs.map +1 -0
- package/dist/{divider-DzwD07xW.js → divider-qmgmakQg.js} +12 -12
- package/dist/divider-qmgmakQg.js.map +1 -0
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{form-DpOSrAUQ.cjs → form-BSEBYpYo.cjs} +2 -2
- package/dist/{form-DpOSrAUQ.cjs.map → form-BSEBYpYo.cjs.map} +1 -1
- package/dist/{form-DG0Kj--R.js → form-DACRd0Qm.js} +2 -2
- package/dist/{form-DG0Kj--R.js.map → form-DACRd0Qm.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-B9PnKxEE.js → icon-D14oGMjt.js} +10 -11
- package/dist/icon-D14oGMjt.js.map +1 -0
- package/dist/{icon-alyJW9vl.cjs → icon-DFxPGQPn.cjs} +2 -3
- package/dist/icon-DFxPGQPn.cjs.map +1 -0
- package/dist/icon-button-CBMjLTvY.cjs +37 -0
- package/dist/icon-button-CBMjLTvY.cjs.map +1 -0
- package/dist/icon-button-qrIUt9AY.js +122 -0
- package/dist/icon-button-qrIUt9AY.js.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +30 -30
- package/dist/input-4Viw-XtC.cjs +42 -0
- package/dist/input-4Viw-XtC.cjs.map +1 -0
- package/dist/{input-C50UsaQY.js → input-DfnjMfrf.js} +15 -15
- package/dist/input-DfnjMfrf.js.map +1 -0
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-dosTHO0i.cjs → litElement.mixin-DbB-1RYZ.cjs} +2 -2
- package/dist/{litElement.mixin-dosTHO0i.cjs.map → litElement.mixin-DbB-1RYZ.cjs.map} +1 -1
- package/dist/{litElement.mixin-kW4tqV-x.js → litElement.mixin-Dc8jFg3I.js} +2 -2
- package/dist/{litElement.mixin-kW4tqV-x.js.map → litElement.mixin-Dc8jFg3I.js.map} +1 -1
- package/dist/{menu-CjJdA5e1.cjs → menu-B26WJO68.cjs} +3 -3
- package/dist/{menu-CjJdA5e1.cjs.map → menu-B26WJO68.cjs.map} +1 -1
- package/dist/{menu-BPkKjcYr.js → menu-DRNk8wOZ.js} +4 -4
- package/dist/{menu-BPkKjcYr.js.map → menu-DRNk8wOZ.js.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins/tailwind.css +46 -3
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-Cf4MQSvl.js → option-ASJW1mHe.js} +2 -2
- package/dist/{option-Cf4MQSvl.js.map → option-ASJW1mHe.js.map} +1 -1
- package/dist/{option-DKovQczU.cjs → option-O4gaTzW0.cjs} +2 -2
- package/dist/{option-DKovQczU.cjs.map → option-O4gaTzW0.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{outlet-Dajn35eu.cjs → outlet-CVU8puhM.cjs} +9 -9
- package/dist/outlet-CVU8puhM.cjs.map +1 -0
- package/dist/{outlet-LHeYRUMN.js → outlet-Co1PWemZ.js} +25 -25
- package/dist/outlet-Co1PWemZ.js.map +1 -0
- package/dist/{payment-card-form-BwoSr0gi.js → payment-card-form-CBghOLaR.js} +3 -3
- package/dist/{payment-card-form-BwoSr0gi.js.map → payment-card-form-CBghOLaR.js.map} +1 -1
- package/dist/{payment-card-form-LKu9PsnX.cjs → payment-card-form-DZ9rk638.cjs} +2 -2
- package/dist/{payment-card-form-LKu9PsnX.cjs.map → payment-card-form-DZ9rk638.cjs.map} +1 -1
- package/dist/{radio-group-Czi9ftHc.js → radio-group-CleiMraQ.js} +2 -2
- package/dist/{radio-group-Czi9ftHc.js.map → radio-group-CleiMraQ.js.map} +1 -1
- package/dist/{radio-group-DyYcHKuk.cjs → radio-group-_AHbCbFl.cjs} +2 -2
- package/dist/{radio-group-DyYcHKuk.cjs.map → radio-group-_AHbCbFl.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{scroll-Kw278kXe.js → scroll-BoNtSF2C.js} +3 -3
- package/dist/{scroll-Kw278kXe.js.map → scroll-BoNtSF2C.js.map} +1 -1
- package/dist/{scroll-2nVgiEne.cjs → scroll-BsuuG2R3.cjs} +4 -4
- package/dist/{scroll-2nVgiEne.cjs.map → scroll-BsuuG2R3.cjs.map} +1 -1
- package/dist/{select-Brg9GSgM.cjs → select-B3jADBe0.cjs} +2 -2
- package/dist/{select-Brg9GSgM.cjs.map → select-B3jADBe0.cjs.map} +1 -1
- package/dist/{select-Bo8t1cUG.js → select-Cgno-nhO.js} +3 -3
- package/dist/{select-Bo8t1cUG.js.map → select-Cgno-nhO.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-m3ssA8RK.js → sheet-dIIufMKb.js} +5 -5
- package/dist/{sheet-m3ssA8RK.js.map → sheet-dIIufMKb.js.map} +1 -1
- package/dist/{sheet-Cn9oyd09.cjs → sheet-dLJ2FM2K.cjs} +4 -4
- package/dist/{sheet-Cn9oyd09.cjs.map → sheet-dLJ2FM2K.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-DiOhZu0e.js → slider-B-A5YSsV.js} +3 -3
- package/dist/{slider-DiOhZu0e.js.map → slider-B-A5YSsV.js.map} +1 -1
- package/dist/{slider-C3u39UVs.cjs → slider-BNvNIn-x.cjs} +2 -2
- package/dist/{slider-C3u39UVs.cjs.map → slider-BNvNIn-x.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-CB8tYfyA.cjs → spinner-BFE-eCrL.cjs} +2 -2
- package/dist/{spinner-CB8tYfyA.cjs.map → spinner-BFE-eCrL.cjs.map} +1 -1
- package/dist/{spinner-DVKR6oPO.js → spinner-BbFimyz2.js} +2 -2
- package/dist/{spinner-DVKR6oPO.js.map → spinner-BbFimyz2.js.map} +1 -1
- package/dist/{surface-COQfLMIb.cjs → surface-BK_CqFFO.cjs} +2 -2
- package/dist/{surface-COQfLMIb.cjs.map → surface-BK_CqFFO.cjs.map} +1 -1
- package/dist/{surface-_g6PVKz9.js → surface-D69ewpB9.js} +2 -2
- package/dist/{surface-_g6PVKz9.js.map → surface-D69ewpB9.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-XZOjesmO.cjs → table-C10KGRKq.cjs} +2 -2
- package/dist/{table-XZOjesmO.cjs.map → table-C10KGRKq.cjs.map} +1 -1
- package/dist/{table-CA_AEMW3.js → table-hXhsKfzr.js} +2 -2
- package/dist/{table-CA_AEMW3.js.map → table-hXhsKfzr.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-group-Bijey97W.js → tabs-group-BlihpSXj.js} +2 -2
- package/dist/{tabs-group-Bijey97W.js.map → tabs-group-BlihpSXj.js.map} +1 -1
- package/dist/{tabs-group-fV6A7jOd.cjs → tabs-group-UHjwCCnS.cjs} +2 -2
- package/dist/{tabs-group-fV6A7jOd.cjs.map → tabs-group-UHjwCCnS.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-7_DOUoA1.cjs +2 -0
- package/dist/{tailwind.mixin-Dts5Uk3L.cjs.map → tailwind.mixin-7_DOUoA1.cjs.map} +1 -1
- package/dist/tailwind.mixin-CZEnDYs-.js +43 -0
- package/dist/{tailwind.mixin-D6m-sJmB.js.map → tailwind.mixin-CZEnDYs-.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-BppTG7vC.js → textarea-BKwTvb_d.js} +3 -3
- package/dist/{textarea-BppTG7vC.js.map → textarea-BKwTvb_d.js.map} +1 -1
- package/dist/textarea-DJaCkK9O.cjs +42 -0
- package/dist/{textarea-DRm-XQyj.cjs.map → textarea-DJaCkK9O.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-lS8U2Zia.cjs → theme-button-3jqFNdPA.cjs} +11 -12
- package/dist/theme-button-3jqFNdPA.cjs.map +1 -0
- package/dist/{theme-button-BTQaux2v.js → theme-button-CtNkFVpC.js} +38 -39
- package/dist/theme-button-CtNkFVpC.js.map +1 -0
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/{tree-F8M_QD0f.js → tree-CG_LxOJR.js} +2 -2
- package/dist/{tree-F8M_QD0f.js.map → tree-CG_LxOJR.js.map} +1 -1
- package/dist/{tree-BxpWT4HG.cjs → tree-CO1LREy0.cjs} +2 -2
- package/dist/{tree-BxpWT4HG.cjs.map → tree-CO1LREy0.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-m577B5AD.js → typewriter-BOmTmKQa.js} +4 -4
- package/dist/{typewriter-m577B5AD.js.map → typewriter-BOmTmKQa.js.map} +1 -1
- package/dist/{typewriter-B5nruGbg.cjs → typewriter-DcYUz_5P.cjs} +2 -2
- package/dist/{typewriter-B5nruGbg.cjs.map → typewriter-DcYUz_5P.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-DFnAG6mR.js → typography-BbELuqEe.js} +2 -2
- package/dist/{typography-DFnAG6mR.js.map → typography-BbELuqEe.js.map} +1 -1
- package/dist/{typography-Depf5xNK.cjs → typography-Dsj6J9sM.cjs} +2 -2
- package/dist/{typography-Depf5xNK.cjs.map → typography-Dsj6J9sM.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +10 -8
- package/dist/area.component-BAx9ljt5.cjs.map +0 -1
- package/dist/area.component-BIircYdd.js.map +0 -1
- package/dist/checkbox-BUrYs8Dg.js.map +0 -1
- package/dist/checkbox-DeVnlyJb.cjs.map +0 -1
- package/dist/divider-DcEj-C2P.cjs.map +0 -1
- package/dist/divider-DzwD07xW.js.map +0 -1
- package/dist/icon-B9PnKxEE.js.map +0 -1
- package/dist/icon-alyJW9vl.cjs.map +0 -1
- package/dist/icon-button-CJwbffPV.js +0 -124
- package/dist/icon-button-CJwbffPV.js.map +0 -1
- package/dist/icon-button-D__Gnjzi.cjs +0 -39
- package/dist/icon-button-D__Gnjzi.cjs.map +0 -1
- package/dist/input-BgnA2aM_.cjs +0 -42
- package/dist/input-BgnA2aM_.cjs.map +0 -1
- package/dist/input-C50UsaQY.js.map +0 -1
- package/dist/outlet-Dajn35eu.cjs.map +0 -1
- package/dist/outlet-LHeYRUMN.js.map +0 -1
- package/dist/tailwind.mixin-D6m-sJmB.js +0 -43
- package/dist/tailwind.mixin-Dts5Uk3L.cjs +0 -2
- package/dist/textarea-DRm-XQyj.cjs +0 -42
- package/dist/theme-button-BTQaux2v.js.map +0 -1
- package/dist/theme-button-lS8U2Zia.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chips-BkjDE2Cx.js","sources":["../node_modules/tslib/tslib.es6.mjs","../node_modules/@material/web/internal/controller/attachable-controller.js","../node_modules/@material/web/focus/internal/focus-ring.js","../node_modules/@material/web/focus/internal/focus-ring-styles.js","../node_modules/@material/web/focus/md-focus-ring.js","../node_modules/@material/web/internal/motion/animation.js","../node_modules/@material/web/ripple/internal/ripple.js","../node_modules/@material/web/ripple/internal/ripple-styles.js","../node_modules/@material/web/ripple/ripple.js","../node_modules/@material/web/internal/aria/aria.js","../node_modules/@material/web/internal/aria/delegate.js","../node_modules/@material/web/chips/internal/chip.js","../node_modules/@material/web/chips/internal/chip-set.js","../node_modules/@material/web/chips/internal/chip-set-styles.js","../node_modules/@material/web/chips/chip-set.js","../node_modules/@material/web/chips/internal/elevated-styles.js","../node_modules/@material/web/elevation/internal/elevation.js","../node_modules/@material/web/elevation/internal/elevation-styles.js","../node_modules/@material/web/elevation/elevation.js","../node_modules/@material/web/chips/internal/multi-action-chip.js","../node_modules/@material/web/chips/internal/trailing-icons.js","../node_modules/@material/web/chips/internal/filter-chip.js","../node_modules/@material/web/internal/events/redispatch-event.js","../node_modules/@material/web/chips/internal/filter-styles.js","../node_modules/@material/web/chips/internal/selectable-styles.js","../node_modules/@material/web/chips/internal/shared-styles.js","../node_modules/@material/web/chips/internal/trailing-icon-styles.js","../node_modules/@material/web/chips/filter-chip.js","../src/chips/chip.ts","../src/chips/chips.ts"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { isServer } from 'lit';\n/**\n * A key to retrieve an `Attachable` element's `AttachableController` from a\n * global `MutationObserver`.\n */\nconst ATTACHABLE_CONTROLLER = Symbol('attachableController');\nlet FOR_ATTRIBUTE_OBSERVER;\nif (!isServer) {\n /**\n * A global `MutationObserver` that reacts to `for` attribute changes on\n * `Attachable` elements. If the `for` attribute changes, the controller will\n * re-attach to the new referenced element.\n */\n FOR_ATTRIBUTE_OBSERVER = new MutationObserver((records) => {\n for (const record of records) {\n // When a control's `for` attribute changes, inform its\n // `AttachableController` to update to a new control.\n record.target[ATTACHABLE_CONTROLLER]?.hostConnected();\n }\n });\n}\n/**\n * A controller that provides an implementation for `Attachable` elements.\n *\n * @example\n * ```ts\n * class MyElement extends LitElement implements Attachable {\n * get control() { return this.attachableController.control; }\n *\n * private readonly attachableController = new AttachableController(\n * this,\n * (previousControl, newControl) => {\n * previousControl?.removeEventListener('click', this.handleClick);\n * newControl?.addEventListener('click', this.handleClick);\n * }\n * );\n *\n * // Implement remaining `Attachable` properties/methods that call the\n * // controller's properties/methods.\n * }\n * ```\n */\nexport class AttachableController {\n get htmlFor() {\n return this.host.getAttribute('for');\n }\n set htmlFor(htmlFor) {\n if (htmlFor === null) {\n this.host.removeAttribute('for');\n }\n else {\n this.host.setAttribute('for', htmlFor);\n }\n }\n get control() {\n if (this.host.hasAttribute('for')) {\n if (!this.htmlFor || !this.host.isConnected) {\n return null;\n }\n return this.host.getRootNode().querySelector(`#${this.htmlFor}`);\n }\n return this.currentControl || this.host.parentElement;\n }\n set control(control) {\n if (control) {\n this.attach(control);\n }\n else {\n this.detach();\n }\n }\n /**\n * Creates a new controller for an `Attachable` element.\n *\n * @param host The `Attachable` element.\n * @param onControlChange A callback with two parameters for the previous and\n * next control. An `Attachable` element may perform setup or teardown\n * logic whenever the control changes.\n */\n constructor(host, onControlChange) {\n this.host = host;\n this.onControlChange = onControlChange;\n this.currentControl = null;\n host.addController(this);\n host[ATTACHABLE_CONTROLLER] = this;\n FOR_ATTRIBUTE_OBSERVER?.observe(host, { attributeFilter: ['for'] });\n }\n attach(control) {\n if (control === this.currentControl) {\n return;\n }\n this.setCurrentControl(control);\n // When imperatively attaching, remove the `for` attribute so\n // that the attached control is used instead of a referenced one.\n this.host.removeAttribute('for');\n }\n detach() {\n this.setCurrentControl(null);\n // When imperatively detaching, add an empty `for=\"\"` attribute. This will\n // ensure the control is `null` rather than the `parentElement`.\n this.host.setAttribute('for', '');\n }\n /** @private */\n hostConnected() {\n this.setCurrentControl(this.control);\n }\n /** @private */\n hostDisconnected() {\n this.setCurrentControl(null);\n }\n setCurrentControl(control) {\n this.onControlChange(this.currentControl, control);\n this.currentControl = control;\n }\n}\n//# sourceMappingURL=attachable-controller.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { isServer, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { AttachableController, } from '../../internal/controller/attachable-controller.js';\n/**\n * Events that the focus ring listens to.\n */\nconst EVENTS = ['focusin', 'focusout', 'pointerdown'];\n/**\n * A focus ring component.\n *\n * @fires visibility-changed {Event} Fired whenever `visible` changes.\n */\nexport class FocusRing extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Makes the focus ring visible.\n */\n this.visible = false;\n /**\n * Makes the focus ring animate inwards instead of outwards.\n */\n this.inward = false;\n this.attachableController = new AttachableController(this, this.onControlChange.bind(this));\n }\n get htmlFor() {\n return this.attachableController.htmlFor;\n }\n set htmlFor(htmlFor) {\n this.attachableController.htmlFor = htmlFor;\n }\n get control() {\n return this.attachableController.control;\n }\n set control(control) {\n this.attachableController.control = control;\n }\n attach(control) {\n this.attachableController.attach(control);\n }\n detach() {\n this.attachableController.detach();\n }\n connectedCallback() {\n super.connectedCallback();\n // Needed for VoiceOver, which will create a \"group\" if the element is a\n // sibling to other content.\n this.setAttribute('aria-hidden', 'true');\n }\n /** @private */\n handleEvent(event) {\n if (event[HANDLED_BY_FOCUS_RING]) {\n // This ensures the focus ring does not activate when multiple focus rings\n // are used within a single component.\n return;\n }\n switch (event.type) {\n default:\n return;\n case 'focusin':\n this.visible = this.control?.matches(':focus-visible') ?? false;\n break;\n case 'focusout':\n case 'pointerdown':\n this.visible = false;\n break;\n }\n event[HANDLED_BY_FOCUS_RING] = true;\n }\n onControlChange(prev, next) {\n if (isServer)\n return;\n for (const event of EVENTS) {\n prev?.removeEventListener(event, this);\n next?.addEventListener(event, this);\n }\n }\n update(changed) {\n if (changed.has('visible')) {\n // This logic can be removed once the `:has` selector has been introduced\n // to Firefox. This is necessary to allow correct submenu styles.\n this.dispatchEvent(new Event('visibility-changed'));\n }\n super.update(changed);\n }\n}\n__decorate([\n property({ type: Boolean, reflect: true })\n], FocusRing.prototype, \"visible\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], FocusRing.prototype, \"inward\", void 0);\nconst HANDLED_BY_FOCUS_RING = Symbol('handledByFocusRing');\n//# sourceMappingURL=focus-ring.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./focus/internal/focus-ring-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host{animation-delay:0s,calc(var(--md-focus-ring-duration, 600ms)*.25);animation-duration:calc(var(--md-focus-ring-duration, 600ms)*.25),calc(var(--md-focus-ring-duration, 600ms)*.75);animation-timing-function:cubic-bezier(0.2, 0, 0, 1);box-sizing:border-box;color:var(--md-focus-ring-color, var(--md-sys-color-secondary, #625b71));display:none;pointer-events:none;position:absolute}:host([visible]){display:flex}:host(:not([inward])){animation-name:outward-grow,outward-shrink;border-end-end-radius:calc(var(--md-focus-ring-shape-end-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-end-start-radius:calc(var(--md-focus-ring-shape-end-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-start-end-radius:calc(var(--md-focus-ring-shape-start-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-start-start-radius:calc(var(--md-focus-ring-shape-start-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));inset:calc(-1*var(--md-focus-ring-outward-offset, 2px));outline:var(--md-focus-ring-width, 3px) solid currentColor}:host([inward]){animation-name:inward-grow,inward-shrink;border-end-end-radius:calc(var(--md-focus-ring-shape-end-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-end-start-radius:calc(var(--md-focus-ring-shape-end-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-start-end-radius:calc(var(--md-focus-ring-shape-start-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-start-start-radius:calc(var(--md-focus-ring-shape-start-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border:var(--md-focus-ring-width, 3px) solid currentColor;inset:var(--md-focus-ring-inward-offset, 0px)}@keyframes outward-grow{from{outline-width:0}to{outline-width:var(--md-focus-ring-active-width, 8px)}}@keyframes outward-shrink{from{outline-width:var(--md-focus-ring-active-width, 8px)}}@keyframes inward-grow{from{border-width:0}to{border-width:var(--md-focus-ring-active-width, 8px)}}@keyframes inward-shrink{from{border-width:var(--md-focus-ring-active-width, 8px)}}@media(prefers-reduced-motion){:host{animation:none}}\n`;\n//# sourceMappingURL=focus-ring-styles.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { customElement } from 'lit/decorators.js';\nimport { FocusRing } from './internal/focus-ring.js';\nimport { styles } from './internal/focus-ring-styles.js';\n/**\n * TODO(b/267336424): add docs\n *\n * @final\n * @suppress {visibility}\n */\nexport let MdFocusRing = class MdFocusRing extends FocusRing {\n};\nMdFocusRing.styles = [styles];\nMdFocusRing = __decorate([\n customElement('md-focus-ring')\n], MdFocusRing);\n//# sourceMappingURL=md-focus-ring.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * Easing functions to use for web animations.\n *\n * **NOTE:** `EASING.EMPHASIZED` is approximated with unknown accuracy.\n *\n * TODO(b/241113345): replace with tokens\n */\nexport const EASING = {\n STANDARD: 'cubic-bezier(0.2, 0, 0, 1)',\n STANDARD_ACCELERATE: 'cubic-bezier(.3,0,1,1)',\n STANDARD_DECELERATE: 'cubic-bezier(0,0,0,1)',\n EMPHASIZED: 'cubic-bezier(.3,0,0,1)',\n EMPHASIZED_ACCELERATE: 'cubic-bezier(.3,0,.8,.15)',\n EMPHASIZED_DECELERATE: 'cubic-bezier(.05,.7,.1,1)',\n};\n/**\n * Creates an `AnimationSignal` that can be used to cancel a previous task.\n *\n * @example\n * class MyClass {\n * private labelAnimationSignal = createAnimationSignal();\n *\n * private async animateLabel() {\n * // Start of the task. Previous tasks will be canceled.\n * const signal = this.labelAnimationSignal.start();\n *\n * // Do async work...\n * if (signal.aborted) {\n * // Use AbortSignal to check if a request was made to abort after some\n * // asynchronous work.\n * return;\n * }\n *\n * const animation = this.animate(...);\n * // Add event listeners to be notified when the task should be canceled.\n * signal.addEventListener('abort', () => {\n * animation.cancel();\n * });\n *\n * animation.addEventListener('finish', () => {\n * // Tell the signal that the current task is finished.\n * this.labelAnimationSignal.finish();\n * });\n * }\n * }\n *\n * @return An `AnimationSignal`.\n */\nexport function createAnimationSignal() {\n // The current animation's AbortController\n let animationAbortController = null;\n return {\n start() {\n // Tell the previous animation to cancel.\n animationAbortController?.abort();\n // Set up a new AbortController for the current animation.\n animationAbortController = new AbortController();\n // Provide the AbortSignal so that the caller can check aborted status\n // and add listeners.\n return animationAbortController.signal;\n },\n finish() {\n animationAbortController = null;\n },\n };\n}\n/**\n * Returns a function which can be used to throttle function calls\n * mapped to a key via a given function that should produce a promise that\n * determines the throttle amount (defaults to requestAnimationFrame).\n */\nexport function createThrottle() {\n const stack = new Set();\n return async (key = '', cb, timeout = async () => {\n await new Promise(requestAnimationFrame);\n }) => {\n if (!stack.has(key)) {\n stack.add(key);\n await timeout();\n if (stack.has(key)) {\n stack.delete(key);\n cb();\n }\n }\n };\n}\n/**\n * Parses an number in milliseconds from a css time value\n */\nexport function msFromTimeCSSValue(value) {\n const match = value.trim().match(/([\\d.]+)(\\s*s$)?/);\n const time = match?.[1];\n const seconds = match?.[2];\n return Number(time ?? 0) * (seconds ? 1000 : 1);\n}\n//# sourceMappingURL=animation.js.map","/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { html, isServer, LitElement } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { AttachableController, } from '../../internal/controller/attachable-controller.js';\nimport { EASING } from '../../internal/motion/animation.js';\nconst PRESS_GROW_MS = 450;\nconst MINIMUM_PRESS_MS = 225;\nconst INITIAL_ORIGIN_SCALE = 0.2;\nconst PADDING = 10;\nconst SOFT_EDGE_MINIMUM_SIZE = 75;\nconst SOFT_EDGE_CONTAINER_RATIO = 0.35;\nconst PRESS_PSEUDO = '::after';\nconst ANIMATION_FILL = 'forwards';\n/**\n * Interaction states for the ripple.\n *\n * On Touch:\n * - `INACTIVE -> TOUCH_DELAY -> WAITING_FOR_CLICK -> INACTIVE`\n * - `INACTIVE -> TOUCH_DELAY -> HOLDING -> WAITING_FOR_CLICK -> INACTIVE`\n *\n * On Mouse or Pen:\n * - `INACTIVE -> WAITING_FOR_CLICK -> INACTIVE`\n */\nvar State;\n(function (State) {\n /**\n * Initial state of the control, no touch in progress.\n *\n * Transitions:\n * - on touch down: transition to `TOUCH_DELAY`.\n * - on mouse down: transition to `WAITING_FOR_CLICK`.\n */\n State[State[\"INACTIVE\"] = 0] = \"INACTIVE\";\n /**\n * Touch down has been received, waiting to determine if it's a swipe or\n * scroll.\n *\n * Transitions:\n * - on touch up: begin press; transition to `WAITING_FOR_CLICK`.\n * - on cancel: transition to `INACTIVE`.\n * - after `TOUCH_DELAY_MS`: begin press; transition to `HOLDING`.\n */\n State[State[\"TOUCH_DELAY\"] = 1] = \"TOUCH_DELAY\";\n /**\n * A touch has been deemed to be a press\n *\n * Transitions:\n * - on up: transition to `WAITING_FOR_CLICK`.\n */\n State[State[\"HOLDING\"] = 2] = \"HOLDING\";\n /**\n * The user touch has finished, transition into rest state.\n *\n * Transitions:\n * - on click end press; transition to `INACTIVE`.\n */\n State[State[\"WAITING_FOR_CLICK\"] = 3] = \"WAITING_FOR_CLICK\";\n})(State || (State = {}));\n/**\n * Events that the ripple listens to.\n */\nconst EVENTS = [\n 'click',\n 'contextmenu',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerup',\n];\n/**\n * Delay reacting to touch so that we do not show the ripple for a swipe or\n * scroll interaction.\n */\nconst TOUCH_DELAY_MS = 150;\n/**\n * Used to detect if HCM is active. Events do not process during HCM when the\n * ripple is not displayed.\n */\nconst FORCED_COLORS = isServer\n ? null\n : window.matchMedia('(forced-colors: active)');\n/**\n * A ripple component.\n */\nexport class Ripple extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Disables the ripple.\n */\n this.disabled = false;\n this.hovered = false;\n this.pressed = false;\n this.rippleSize = '';\n this.rippleScale = '';\n this.initialSize = 0;\n this.state = State.INACTIVE;\n this.checkBoundsAfterContextMenu = false;\n this.attachableController = new AttachableController(this, this.onControlChange.bind(this));\n }\n get htmlFor() {\n return this.attachableController.htmlFor;\n }\n set htmlFor(htmlFor) {\n this.attachableController.htmlFor = htmlFor;\n }\n get control() {\n return this.attachableController.control;\n }\n set control(control) {\n this.attachableController.control = control;\n }\n attach(control) {\n this.attachableController.attach(control);\n }\n detach() {\n this.attachableController.detach();\n }\n connectedCallback() {\n super.connectedCallback();\n // Needed for VoiceOver, which will create a \"group\" if the element is a\n // sibling to other content.\n this.setAttribute('aria-hidden', 'true');\n }\n render() {\n const classes = {\n 'hovered': this.hovered,\n 'pressed': this.pressed,\n };\n return html `<div class=\"surface ${classMap(classes)}\"></div>`;\n }\n update(changedProps) {\n if (changedProps.has('disabled') && this.disabled) {\n this.hovered = false;\n this.pressed = false;\n }\n super.update(changedProps);\n }\n /**\n * TODO(b/269799771): make private\n * @private only public for slider\n */\n handlePointerenter(event) {\n if (!this.shouldReactToEvent(event)) {\n return;\n }\n this.hovered = true;\n }\n /**\n * TODO(b/269799771): make private\n * @private only public for slider\n */\n handlePointerleave(event) {\n if (!this.shouldReactToEvent(event)) {\n return;\n }\n this.hovered = false;\n // release a held mouse or pen press that moves outside the element\n if (this.state !== State.INACTIVE) {\n this.endPressAnimation();\n }\n }\n handlePointerup(event) {\n if (!this.shouldReactToEvent(event)) {\n return;\n }\n if (this.state === State.HOLDING) {\n this.state = State.WAITING_FOR_CLICK;\n return;\n }\n if (this.state === State.TOUCH_DELAY) {\n this.state = State.WAITING_FOR_CLICK;\n this.startPressAnimation(this.rippleStartEvent);\n return;\n }\n }\n async handlePointerdown(event) {\n if (!this.shouldReactToEvent(event)) {\n return;\n }\n this.rippleStartEvent = event;\n if (!this.isTouch(event)) {\n this.state = State.WAITING_FOR_CLICK;\n this.startPressAnimation(event);\n return;\n }\n // after a longpress contextmenu event, an extra `pointerdown` can be\n // dispatched to the pressed element. Check that the down is within\n // bounds of the element in this case.\n if (this.checkBoundsAfterContextMenu && !this.inBounds(event)) {\n return;\n }\n this.checkBoundsAfterContextMenu = false;\n // Wait for a hold after touch delay\n this.state = State.TOUCH_DELAY;\n await new Promise((resolve) => {\n setTimeout(resolve, TOUCH_DELAY_MS);\n });\n if (this.state !== State.TOUCH_DELAY) {\n return;\n }\n this.state = State.HOLDING;\n this.startPressAnimation(event);\n }\n handleClick() {\n // Click is a MouseEvent in Firefox and Safari, so we cannot use\n // `shouldReactToEvent`\n if (this.disabled) {\n return;\n }\n if (this.state === State.WAITING_FOR_CLICK) {\n this.endPressAnimation();\n return;\n }\n if (this.state === State.INACTIVE) {\n // keyboard synthesized click event\n this.startPressAnimation();\n this.endPressAnimation();\n }\n }\n handlePointercancel(event) {\n if (!this.shouldReactToEvent(event)) {\n return;\n }\n this.endPressAnimation();\n }\n handleContextmenu() {\n if (this.disabled) {\n return;\n }\n this.checkBoundsAfterContextMenu = true;\n this.endPressAnimation();\n }\n determineRippleSize() {\n const { height, width } = this.getBoundingClientRect();\n const maxDim = Math.max(height, width);\n const softEdgeSize = Math.max(SOFT_EDGE_CONTAINER_RATIO * maxDim, SOFT_EDGE_MINIMUM_SIZE);\n const initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE);\n const hypotenuse = Math.sqrt(width ** 2 + height ** 2);\n const maxRadius = hypotenuse + PADDING;\n this.initialSize = initialSize;\n this.rippleScale = `${(maxRadius + softEdgeSize) / initialSize}`;\n this.rippleSize = `${initialSize}px`;\n }\n getNormalizedPointerEventCoords(pointerEvent) {\n const { scrollX, scrollY } = window;\n const { left, top } = this.getBoundingClientRect();\n const documentX = scrollX + left;\n const documentY = scrollY + top;\n const { pageX, pageY } = pointerEvent;\n return { x: pageX - documentX, y: pageY - documentY };\n }\n getTranslationCoordinates(positionEvent) {\n const { height, width } = this.getBoundingClientRect();\n // end in the center\n const endPoint = {\n x: (width - this.initialSize) / 2,\n y: (height - this.initialSize) / 2,\n };\n let startPoint;\n if (positionEvent instanceof PointerEvent) {\n startPoint = this.getNormalizedPointerEventCoords(positionEvent);\n }\n else {\n startPoint = {\n x: width / 2,\n y: height / 2,\n };\n }\n // center around start point\n startPoint = {\n x: startPoint.x - this.initialSize / 2,\n y: startPoint.y - this.initialSize / 2,\n };\n return { startPoint, endPoint };\n }\n startPressAnimation(positionEvent) {\n if (!this.mdRoot) {\n return;\n }\n this.pressed = true;\n this.growAnimation?.cancel();\n this.determineRippleSize();\n const { startPoint, endPoint } = this.getTranslationCoordinates(positionEvent);\n const translateStart = `${startPoint.x}px, ${startPoint.y}px`;\n const translateEnd = `${endPoint.x}px, ${endPoint.y}px`;\n this.growAnimation = this.mdRoot.animate({\n top: [0, 0],\n left: [0, 0],\n height: [this.rippleSize, this.rippleSize],\n width: [this.rippleSize, this.rippleSize],\n transform: [\n `translate(${translateStart}) scale(1)`,\n `translate(${translateEnd}) scale(${this.rippleScale})`,\n ],\n }, {\n pseudoElement: PRESS_PSEUDO,\n duration: PRESS_GROW_MS,\n easing: EASING.STANDARD,\n fill: ANIMATION_FILL,\n });\n }\n async endPressAnimation() {\n this.rippleStartEvent = undefined;\n this.state = State.INACTIVE;\n const animation = this.growAnimation;\n let pressAnimationPlayState = Infinity;\n if (typeof animation?.currentTime === 'number') {\n pressAnimationPlayState = animation.currentTime;\n }\n else if (animation?.currentTime) {\n pressAnimationPlayState = animation.currentTime.to('ms').value;\n }\n if (pressAnimationPlayState >= MINIMUM_PRESS_MS) {\n this.pressed = false;\n return;\n }\n await new Promise((resolve) => {\n setTimeout(resolve, MINIMUM_PRESS_MS - pressAnimationPlayState);\n });\n if (this.growAnimation !== animation) {\n // A new press animation was started. The old animation was canceled and\n // should not finish the pressed state.\n return;\n }\n this.pressed = false;\n }\n /**\n * Returns `true` if\n * - the ripple element is enabled\n * - the pointer is primary for the input type\n * - the pointer is the pointer that started the interaction, or will start\n * the interaction\n * - the pointer is a touch, or the pointer state has the primary button\n * held, or the pointer is hovering\n */\n shouldReactToEvent(event) {\n if (this.disabled || !event.isPrimary) {\n return false;\n }\n if (this.rippleStartEvent &&\n this.rippleStartEvent.pointerId !== event.pointerId) {\n return false;\n }\n if (event.type === 'pointerenter' || event.type === 'pointerleave') {\n return !this.isTouch(event);\n }\n const isPrimaryButton = event.buttons === 1;\n return this.isTouch(event) || isPrimaryButton;\n }\n /**\n * Check if the event is within the bounds of the element.\n *\n * This is only needed for the \"stuck\" contextmenu longpress on Chrome.\n */\n inBounds({ x, y }) {\n const { top, left, bottom, right } = this.getBoundingClientRect();\n return x >= left && x <= right && y >= top && y <= bottom;\n }\n isTouch({ pointerType }) {\n return pointerType === 'touch';\n }\n /** @private */\n async handleEvent(event) {\n if (FORCED_COLORS?.matches) {\n // Skip event logic since the ripple is `display: none`.\n return;\n }\n switch (event.type) {\n case 'click':\n this.handleClick();\n break;\n case 'contextmenu':\n this.handleContextmenu();\n break;\n case 'pointercancel':\n this.handlePointercancel(event);\n break;\n case 'pointerdown':\n await this.handlePointerdown(event);\n break;\n case 'pointerenter':\n this.handlePointerenter(event);\n break;\n case 'pointerleave':\n this.handlePointerleave(event);\n break;\n case 'pointerup':\n this.handlePointerup(event);\n break;\n default:\n break;\n }\n }\n onControlChange(prev, next) {\n if (isServer)\n return;\n for (const event of EVENTS) {\n prev?.removeEventListener(event, this);\n next?.addEventListener(event, this);\n }\n }\n}\n__decorate([\n property({ type: Boolean, reflect: true })\n], Ripple.prototype, \"disabled\", void 0);\n__decorate([\n state()\n], Ripple.prototype, \"hovered\", void 0);\n__decorate([\n state()\n], Ripple.prototype, \"pressed\", void 0);\n__decorate([\n query('.surface')\n], Ripple.prototype, \"mdRoot\", void 0);\n//# sourceMappingURL=ripple.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./ripple/internal/ripple-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host{display:flex;margin:auto;pointer-events:none}:host([disabled]){display:none}@media(forced-colors: active){:host{display:none}}:host,.surface{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.surface{-webkit-tap-highlight-color:rgba(0,0,0,0)}.surface::before,.surface::after{content:\"\";opacity:0;position:absolute}.surface::before{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));inset:0;transition:opacity 15ms linear,background-color 15ms linear}.surface::after{background:radial-gradient(closest-side, var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20)) max(100% - 70px, 65%), transparent 100%);transform-origin:center center;transition:opacity 375ms linear}.hovered::before{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-hover-opacity, 0.08)}.pressed::after{opacity:var(--md-ripple-pressed-opacity, 0.12);transition-duration:105ms}\n`;\n//# sourceMappingURL=ripple-styles.js.map","/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { customElement } from 'lit/decorators.js';\nimport { Ripple } from './internal/ripple.js';\nimport { styles } from './internal/ripple-styles.js';\n/**\n * @summary Ripples, also known as state layers, are visual indicators used to\n * communicate the status of a component or interactive element.\n *\n * @description A state layer is a semi-transparent covering on an element that\n * indicates its state. State layers provide a systematic approach to\n * visualizing states by using opacity. A layer can be applied to an entire\n * element or in a circular shape and only one state layer can be applied at a\n * given time.\n *\n * @final\n * @suppress {visibility}\n */\nexport let MdRipple = class MdRipple extends Ripple {\n};\nMdRipple.styles = [styles];\nMdRipple = __decorate([\n customElement('md-ripple')\n], MdRipple);\n//# sourceMappingURL=ripple.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * Accessibility Object Model reflective aria properties.\n */\nexport const ARIA_PROPERTIES = [\n 'role',\n 'ariaAtomic',\n 'ariaAutoComplete',\n 'ariaBusy',\n 'ariaChecked',\n 'ariaColCount',\n 'ariaColIndex',\n 'ariaColSpan',\n 'ariaCurrent',\n 'ariaDisabled',\n 'ariaExpanded',\n 'ariaHasPopup',\n 'ariaHidden',\n 'ariaInvalid',\n 'ariaKeyShortcuts',\n 'ariaLabel',\n 'ariaLevel',\n 'ariaLive',\n 'ariaModal',\n 'ariaMultiLine',\n 'ariaMultiSelectable',\n 'ariaOrientation',\n 'ariaPlaceholder',\n 'ariaPosInSet',\n 'ariaPressed',\n 'ariaReadOnly',\n 'ariaRequired',\n 'ariaRoleDescription',\n 'ariaRowCount',\n 'ariaRowIndex',\n 'ariaRowSpan',\n 'ariaSelected',\n 'ariaSetSize',\n 'ariaSort',\n 'ariaValueMax',\n 'ariaValueMin',\n 'ariaValueNow',\n 'ariaValueText',\n];\n/**\n * Accessibility Object Model aria attributes.\n */\nexport const ARIA_ATTRIBUTES = ARIA_PROPERTIES.map(ariaPropertyToAttribute);\n/**\n * Checks if an attribute is one of the AOM aria attributes.\n *\n * @example\n * isAriaAttribute('aria-label'); // true\n *\n * @param attribute The attribute to check.\n * @return True if the attribute is an aria attribute, or false if not.\n */\nexport function isAriaAttribute(attribute) {\n return ARIA_ATTRIBUTES.includes(attribute);\n}\n/**\n * Converts an AOM aria property into its corresponding attribute.\n *\n * @example\n * ariaPropertyToAttribute('ariaLabel'); // 'aria-label'\n *\n * @param property The aria property.\n * @return The aria attribute.\n */\nexport function ariaPropertyToAttribute(property) {\n return property\n .replace('aria', 'aria-')\n // IDREF attributes also include an \"Element\" or \"Elements\" suffix\n .replace(/Elements?/g, '')\n .toLowerCase();\n}\n//# sourceMappingURL=aria.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { isServer } from 'lit';\nimport { ARIA_PROPERTIES, ariaPropertyToAttribute, isAriaAttribute, } from './aria.js';\n// Private symbols\nconst privateIgnoreAttributeChangesFor = Symbol('privateIgnoreAttributeChangesFor');\n/**\n * Mixes in aria delegation for elements that delegate focus and aria to inner\n * shadow root elements.\n *\n * This mixin fixes invalid aria announcements with shadow roots, caused by\n * duplicate aria attributes on both the host and the inner shadow root element.\n *\n * Note: this mixin **does not yet support** ID reference attributes, such as\n * `aria-labelledby` or `aria-controls`.\n *\n * @example\n * ```ts\n * class MyButton extends mixinDelegatesAria(LitElement) {\n * static shadowRootOptions = {mode: 'open', delegatesFocus: true};\n *\n * render() {\n * return html`\n * <button aria-label=${this.ariaLabel || nothing}>\n * <slot></slot>\n * </button>\n * `;\n * }\n * }\n * ```\n * ```html\n * <my-button aria-label=\"Plus one\">+1</my-button>\n * ```\n *\n * Use `ARIAMixinStrict` for lit analyzer strict types, such as the \"role\"\n * attribute.\n *\n * @example\n * ```ts\n * return html`\n * <button role=${(this as ARIAMixinStrict).role || nothing}>\n * <slot></slot>\n * </button>\n * `;\n * ```\n *\n * In the future, updates to the Accessibility Object Model (AOM) will provide\n * built-in aria delegation features that will replace this mixin.\n *\n * @param base The class to mix functionality into.\n * @return The provided class with aria delegation mixed in.\n */\nexport function mixinDelegatesAria(base) {\n var _a;\n if (isServer) {\n // Don't shift attributes when running with lit-ssr. The SSR renderer\n // implements a subset of DOM APIs, including the methods this mixin\n // overrides, causing errors. We don't need to shift on the server anyway\n // since elements will shift attributes immediately once they hydrate.\n return base;\n }\n class WithDelegatesAriaElement extends base {\n constructor() {\n super(...arguments);\n this[_a] = new Set();\n }\n attributeChangedCallback(name, oldValue, newValue) {\n if (!isAriaAttribute(name)) {\n super.attributeChangedCallback(name, oldValue, newValue);\n return;\n }\n if (this[privateIgnoreAttributeChangesFor].has(name)) {\n return;\n }\n // Don't trigger another `attributeChangedCallback` once we remove the\n // aria attribute from the host. We check the explicit name of the\n // attribute to ignore since `attributeChangedCallback` can be called\n // multiple times out of an expected order when hydrating an element with\n // multiple attributes.\n this[privateIgnoreAttributeChangesFor].add(name);\n this.removeAttribute(name);\n this[privateIgnoreAttributeChangesFor].delete(name);\n const dataProperty = ariaAttributeToDataProperty(name);\n if (newValue === null) {\n delete this.dataset[dataProperty];\n }\n else {\n this.dataset[dataProperty] = newValue;\n }\n this.requestUpdate(ariaAttributeToDataProperty(name), oldValue);\n }\n getAttribute(name) {\n if (isAriaAttribute(name)) {\n return super.getAttribute(ariaAttributeToDataAttribute(name));\n }\n return super.getAttribute(name);\n }\n removeAttribute(name) {\n super.removeAttribute(name);\n if (isAriaAttribute(name)) {\n super.removeAttribute(ariaAttributeToDataAttribute(name));\n // Since `aria-*` attributes are already removed`, we need to request\n // an update because `attributeChangedCallback` will not be called.\n this.requestUpdate();\n }\n }\n }\n _a = privateIgnoreAttributeChangesFor;\n setupDelegatesAriaProperties(WithDelegatesAriaElement);\n return WithDelegatesAriaElement;\n}\n/**\n * Overrides the constructor's native `ARIAMixin` properties to ensure that\n * aria properties reflect the values that were shifted to a data attribute.\n *\n * @param ctor The `ReactiveElement` constructor to patch.\n */\nfunction setupDelegatesAriaProperties(ctor) {\n for (const ariaProperty of ARIA_PROPERTIES) {\n // The casing between ariaProperty and the dataProperty may be different.\n // ex: aria-haspopup -> ariaHasPopup\n const ariaAttribute = ariaPropertyToAttribute(ariaProperty);\n // ex: aria-haspopup -> data-aria-haspopup\n const dataAttribute = ariaAttributeToDataAttribute(ariaAttribute);\n // ex: aria-haspopup -> dataset.ariaHaspopup\n const dataProperty = ariaAttributeToDataProperty(ariaAttribute);\n // Call `ReactiveElement.createProperty()` so that the `aria-*` and `data-*`\n // attributes are added to the `static observedAttributes` array. This\n // triggers `attributeChangedCallback` for the delegates aria mixin to\n // handle.\n ctor.createProperty(ariaProperty, {\n attribute: ariaAttribute,\n noAccessor: true,\n });\n ctor.createProperty(Symbol(dataAttribute), {\n attribute: dataAttribute,\n noAccessor: true,\n });\n // Re-define the `ARIAMixin` properties to handle data attribute shifting.\n // It is safe to use `Object.defineProperty` here because the properties\n // are native and not renamed.\n // tslint:disable-next-line:ban-unsafe-reflection\n Object.defineProperty(ctor.prototype, ariaProperty, {\n configurable: true,\n enumerable: true,\n get() {\n return this.dataset[dataProperty] ?? null;\n },\n set(value) {\n const prevValue = this.dataset[dataProperty] ?? null;\n if (value === prevValue) {\n return;\n }\n if (value === null) {\n delete this.dataset[dataProperty];\n }\n else {\n this.dataset[dataProperty] = value;\n }\n this.requestUpdate(ariaProperty, prevValue);\n },\n });\n }\n}\nfunction ariaAttributeToDataAttribute(ariaAttribute) {\n // aria-haspopup -> data-aria-haspopup\n return `data-${ariaAttribute}`;\n}\nfunction ariaAttributeToDataProperty(ariaAttribute) {\n // aria-haspopup -> dataset.ariaHaspopup\n return ariaAttribute.replace(/-\\w/, (dashLetter) => dashLetter[1].toUpperCase());\n}\n//# sourceMappingURL=delegate.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport '../../focus/md-focus-ring.js';\nimport '../../ripple/ripple.js';\nimport { html, isServer, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { mixinDelegatesAria } from '../../internal/aria/delegate.js';\n// Separate variable needed for closure.\nconst chipBaseClass = mixinDelegatesAria(LitElement);\n/**\n * A chip component.\n *\n * @fires update-focus {Event} Dispatched when `disabled` is toggled. --bubbles\n */\nexport class Chip extends chipBaseClass {\n /**\n * Whether or not the primary ripple is disabled (defaults to `disabled`).\n * Some chip actions such as links cannot be disabled.\n */\n get rippleDisabled() {\n return this.disabled || this.softDisabled;\n }\n constructor() {\n super();\n /**\n * Whether or not the chip is disabled.\n *\n * Disabled chips are not focusable, unless `always-focusable` is set.\n */\n this.disabled = false;\n /**\n * Whether or not the chip is \"soft-disabled\" (disabled but still\n * focusable).\n *\n * Use this when a chip needs increased visibility when disabled. See\n * https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_disabled_controls\n * for more guidance on when this is needed.\n */\n this.softDisabled = false;\n /**\n * When true, allow disabled chips to be focused with arrow keys.\n *\n * Add this when a chip needs increased visibility when disabled. See\n * https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_disabled_controls\n * for more guidance on when this is needed.\n *\n * @deprecated Use `softDisabled` instead of `alwaysFocusable` + `disabled`.\n */\n this.alwaysFocusable = false;\n // TODO(b/350810013): remove the label property.\n /**\n * The label of the chip.\n *\n * @deprecated Set text as content of the chip instead.\n */\n this.label = '';\n /**\n * Only needed for SSR.\n *\n * Add this attribute when a chip has a `slot=\"icon\"` to avoid a Flash Of\n * Unstyled Content.\n */\n this.hasIcon = false;\n if (!isServer) {\n this.addEventListener('click', this.handleClick.bind(this));\n }\n }\n focus(options) {\n if (this.disabled && !this.alwaysFocusable) {\n return;\n }\n super.focus(options);\n }\n render() {\n return html `\n <div class=\"container ${classMap(this.getContainerClasses())}\">\n ${this.renderContainerContent()}\n </div>\n `;\n }\n updated(changed) {\n if (changed.has('disabled') && changed.get('disabled') !== undefined) {\n this.dispatchEvent(new Event('update-focus', { bubbles: true }));\n }\n }\n getContainerClasses() {\n return {\n 'disabled': this.disabled || this.softDisabled,\n 'has-icon': this.hasIcon,\n };\n }\n renderContainerContent() {\n return html `\n ${this.renderOutline()}\n <md-focus-ring part=\"focus-ring\" for=${this.primaryId}></md-focus-ring>\n <md-ripple\n for=${this.primaryId}\n ?disabled=${this.rippleDisabled}></md-ripple>\n ${this.renderPrimaryAction(this.renderPrimaryContent())}\n `;\n }\n renderOutline() {\n return html `<span class=\"outline\"></span>`;\n }\n renderLeadingIcon() {\n return html `<slot name=\"icon\" @slotchange=${this.handleIconChange}></slot>`;\n }\n renderPrimaryContent() {\n return html `\n <span class=\"leading icon\" aria-hidden=\"true\">\n ${this.renderLeadingIcon()}\n </span>\n <span class=\"label\">\n <span class=\"label-text\" id=\"label\">\n ${this.label ? this.label : html `<slot></slot>`}\n </span>\n </span>\n <span class=\"touch\"></span>\n `;\n }\n handleIconChange(event) {\n const slot = event.target;\n this.hasIcon = slot.assignedElements({ flatten: true }).length > 0;\n }\n handleClick(event) {\n // If the chip is soft-disabled or disabled + always-focusable, we need to\n // explicitly prevent the click from propagating to other event listeners\n // as well as prevent the default action.\n if (this.softDisabled || (this.disabled && this.alwaysFocusable)) {\n event.stopImmediatePropagation();\n event.preventDefault();\n return;\n }\n }\n}\n/** @nocollapse */\nChip.shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n};\n__decorate([\n property({ type: Boolean, reflect: true })\n], Chip.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean, attribute: 'soft-disabled', reflect: true })\n], Chip.prototype, \"softDisabled\", void 0);\n__decorate([\n property({ type: Boolean, attribute: 'always-focusable' })\n], Chip.prototype, \"alwaysFocusable\", void 0);\n__decorate([\n property()\n], Chip.prototype, \"label\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true, attribute: 'has-icon' })\n], Chip.prototype, \"hasIcon\", void 0);\n//# sourceMappingURL=chip.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { html, isServer, LitElement } from 'lit';\nimport { queryAssignedElements } from 'lit/decorators.js';\nimport { Chip } from './chip.js';\n/**\n * A chip set component.\n */\nexport class ChipSet extends LitElement {\n get chips() {\n return this.childElements.filter((child) => child instanceof Chip);\n }\n constructor() {\n super();\n this.internals = \n // Cast needed for closure\n this.attachInternals();\n if (!isServer) {\n this.addEventListener('focusin', this.updateTabIndices.bind(this));\n this.addEventListener('update-focus', this.updateTabIndices.bind(this));\n this.addEventListener('keydown', this.handleKeyDown.bind(this));\n this.internals.role = 'toolbar';\n }\n }\n render() {\n return html `<slot @slotchange=${this.updateTabIndices}></slot>`;\n }\n handleKeyDown(event) {\n const isLeft = event.key === 'ArrowLeft';\n const isRight = event.key === 'ArrowRight';\n const isHome = event.key === 'Home';\n const isEnd = event.key === 'End';\n // Ignore non-navigation keys\n if (!isLeft && !isRight && !isHome && !isEnd) {\n return;\n }\n const { chips } = this;\n // Don't try to select another chip if there aren't any.\n if (chips.length < 2) {\n return;\n }\n // Prevent default interactions, such as scrolling.\n event.preventDefault();\n if (isHome || isEnd) {\n const index = isHome ? 0 : chips.length - 1;\n chips[index].focus({ trailing: isEnd });\n this.updateTabIndices();\n return;\n }\n // Check if moving forwards or backwards\n const isRtl = getComputedStyle(this).direction === 'rtl';\n const forwards = isRtl ? isLeft : isRight;\n const focusedChip = chips.find((chip) => chip.matches(':focus-within'));\n if (!focusedChip) {\n // If there is not already a chip focused, select the first or last chip\n // based on the direction we're traveling.\n const nextChip = forwards ? chips[0] : chips[chips.length - 1];\n nextChip.focus({ trailing: !forwards });\n this.updateTabIndices();\n return;\n }\n const currentIndex = chips.indexOf(focusedChip);\n let nextIndex = forwards ? currentIndex + 1 : currentIndex - 1;\n // Search for the next sibling that is not disabled to select.\n // If we return to the host index, there is nothing to select.\n while (nextIndex !== currentIndex) {\n if (nextIndex >= chips.length) {\n // Return to start if moving past the last item.\n nextIndex = 0;\n }\n else if (nextIndex < 0) {\n // Go to end if moving before the first item.\n nextIndex = chips.length - 1;\n }\n // Check if the next sibling is disabled. If so,\n // move the index and continue searching.\n //\n // Some toolbar items may be focusable when disabled for increased\n // visibility.\n const nextChip = chips[nextIndex];\n if (nextChip.disabled && !nextChip.alwaysFocusable) {\n if (forwards) {\n nextIndex++;\n }\n else {\n nextIndex--;\n }\n continue;\n }\n nextChip.focus({ trailing: !forwards });\n this.updateTabIndices();\n break;\n }\n }\n updateTabIndices() {\n // The chip that should be focusable is either the chip that currently has\n // focus or the first chip that can be focused.\n const { chips } = this;\n let chipToFocus;\n for (const chip of chips) {\n const isChipFocusable = chip.alwaysFocusable || !chip.disabled;\n const chipIsFocused = chip.matches(':focus-within');\n if (chipIsFocused && isChipFocusable) {\n // Found the first chip that is actively focused. This overrides the\n // first focusable chip found.\n chipToFocus = chip;\n continue;\n }\n if (isChipFocusable && !chipToFocus) {\n chipToFocus = chip;\n }\n // Disable non-focused chips. If we disable all of them, we'll grant focus\n // to the first focusable child that was found.\n chip.tabIndex = -1;\n }\n if (chipToFocus) {\n chipToFocus.tabIndex = 0;\n }\n }\n}\n__decorate([\n queryAssignedElements()\n], ChipSet.prototype, \"childElements\", void 0);\n//# sourceMappingURL=chip-set.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/chip-set-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host{display:flex;flex-wrap:wrap;gap:8px}\n`;\n//# sourceMappingURL=chip-set-styles.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { customElement } from 'lit/decorators.js';\nimport { ChipSet } from './internal/chip-set.js';\nimport { styles } from './internal/chip-set-styles.js';\n/**\n * TODO(b/243982145): add docs\n *\n * @final\n * @suppress {visibility}\n */\nexport let MdChipSet = class MdChipSet extends ChipSet {\n};\nMdChipSet.styles = [styles];\nMdChipSet = __decorate([\n customElement('md-chip-set')\n], MdChipSet);\n//# sourceMappingURL=chip-set.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/elevated-styles.css.\nimport { css } from 'lit';\nexport const styles = css `.elevated{--md-elevation-level: var(--_elevated-container-elevation);--md-elevation-shadow-color: var(--_elevated-container-shadow-color)}.elevated::before{background:var(--_elevated-container-color)}.elevated:hover{--md-elevation-level: var(--_elevated-hover-container-elevation)}.elevated:focus-within{--md-elevation-level: var(--_elevated-focus-container-elevation)}.elevated:active{--md-elevation-level: var(--_elevated-pressed-container-elevation)}.elevated.disabled{--md-elevation-level: var(--_elevated-disabled-container-elevation)}.elevated.disabled::before{background:var(--_elevated-disabled-container-color);opacity:var(--_elevated-disabled-container-opacity)}@media(forced-colors: active){.elevated md-elevation{border:1px solid CanvasText}.elevated.disabled md-elevation{border-color:GrayText}}\n`;\n//# sourceMappingURL=elevated-styles.js.map","/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { html, LitElement } from 'lit';\n/**\n * A component for elevation.\n */\nexport class Elevation extends LitElement {\n connectedCallback() {\n super.connectedCallback();\n // Needed for VoiceOver, which will create a \"group\" if the element is a\n // sibling to other content.\n this.setAttribute('aria-hidden', 'true');\n }\n render() {\n return html `<span class=\"shadow\"></span>`;\n }\n}\n//# sourceMappingURL=elevation.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./elevation/internal/elevation-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host,.shadow,.shadow::before,.shadow::after{border-radius:inherit;inset:0;position:absolute;transition-duration:inherit;transition-property:inherit;transition-timing-function:inherit}:host{display:flex;pointer-events:none;transition-property:box-shadow,opacity}.shadow::before,.shadow::after{content:\"\";transition-property:box-shadow,opacity;--_level: var(--md-elevation-level, 0);--_shadow-color: var(--md-elevation-shadow-color, var(--md-sys-color-shadow, #000))}.shadow::before{box-shadow:0px calc(1px*(clamp(0,var(--_level),1) + clamp(0,var(--_level) - 3,1) + 2*clamp(0,var(--_level) - 4,1))) calc(1px*(2*clamp(0,var(--_level),1) + clamp(0,var(--_level) - 2,1) + clamp(0,var(--_level) - 4,1))) 0px var(--_shadow-color);opacity:.3}.shadow::after{box-shadow:0px calc(1px*(clamp(0,var(--_level),1) + clamp(0,var(--_level) - 1,1) + 2*clamp(0,var(--_level) - 2,3))) calc(1px*(3*clamp(0,var(--_level),2) + 2*clamp(0,var(--_level) - 2,3))) calc(1px*(clamp(0,var(--_level),4) + 2*clamp(0,var(--_level) - 4,1))) var(--_shadow-color);opacity:.15}\n`;\n//# sourceMappingURL=elevation-styles.js.map","/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { customElement } from 'lit/decorators.js';\nimport { Elevation } from './internal/elevation.js';\nimport { styles } from './internal/elevation-styles.js';\n/**\n * The `<md-elevation>` custom element with default styles.\n *\n * Elevation is the relative distance between two surfaces along the z-axis.\n *\n * @final\n * @suppress {visibility}\n */\nexport let MdElevation = class MdElevation extends Elevation {\n};\nMdElevation.styles = [styles];\nMdElevation = __decorate([\n customElement('md-elevation')\n], MdElevation);\n//# sourceMappingURL=elevation.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { html, isServer } from 'lit';\nimport { Chip } from './chip.js';\nconst ARIA_LABEL_REMOVE = 'aria-label-remove';\n/**\n * A chip component with multiple actions.\n */\nexport class MultiActionChip extends Chip {\n get ariaLabelRemove() {\n if (this.hasAttribute(ARIA_LABEL_REMOVE)) {\n return this.getAttribute(ARIA_LABEL_REMOVE);\n }\n const { ariaLabel } = this;\n // TODO(b/350810013): remove `this.label` when label property is removed.\n if (ariaLabel || this.label) {\n return `Remove ${ariaLabel || this.label}`;\n }\n return null;\n }\n set ariaLabelRemove(ariaLabel) {\n const prev = this.ariaLabelRemove;\n if (ariaLabel === prev) {\n return;\n }\n if (ariaLabel === null) {\n this.removeAttribute(ARIA_LABEL_REMOVE);\n }\n else {\n this.setAttribute(ARIA_LABEL_REMOVE, ariaLabel);\n }\n this.requestUpdate();\n }\n constructor() {\n super();\n this.handleTrailingActionFocus = this.handleTrailingActionFocus.bind(this);\n if (!isServer) {\n this.addEventListener('keydown', this.handleKeyDown.bind(this));\n }\n }\n focus(options) {\n const isFocusable = this.alwaysFocusable || !this.disabled;\n if (isFocusable && options?.trailing && this.trailingAction) {\n this.trailingAction.focus(options);\n return;\n }\n super.focus(options);\n }\n renderContainerContent() {\n return html `\n ${super.renderContainerContent()}\n ${this.renderTrailingAction(this.handleTrailingActionFocus)}\n `;\n }\n handleKeyDown(event) {\n const isLeft = event.key === 'ArrowLeft';\n const isRight = event.key === 'ArrowRight';\n // Ignore non-navigation keys.\n if (!isLeft && !isRight) {\n return;\n }\n if (!this.primaryAction || !this.trailingAction) {\n // Does not have multiple actions.\n return;\n }\n // Check if moving forwards or backwards\n const isRtl = getComputedStyle(this).direction === 'rtl';\n const forwards = isRtl ? isLeft : isRight;\n const isPrimaryFocused = this.primaryAction?.matches(':focus-within');\n const isTrailingFocused = this.trailingAction?.matches(':focus-within');\n if ((forwards && isTrailingFocused) || (!forwards && isPrimaryFocused)) {\n // Moving outside of the chip, it will be handled by the chip set.\n return;\n }\n // Prevent default interactions, such as scrolling.\n event.preventDefault();\n // Don't let the chip set handle this navigation event.\n event.stopPropagation();\n const actionToFocus = forwards ? this.trailingAction : this.primaryAction;\n actionToFocus.focus();\n }\n handleTrailingActionFocus() {\n const { primaryAction, trailingAction } = this;\n if (!primaryAction || !trailingAction) {\n return;\n }\n // Temporarily turn off the primary action's focusability. This allows\n // shift+tab from the trailing action to move to the previous chip rather\n // than the primary action in the same chip.\n primaryAction.tabIndex = -1;\n trailingAction.addEventListener('focusout', () => {\n primaryAction.tabIndex = 0;\n }, { once: true });\n }\n}\n//# sourceMappingURL=multi-action-chip.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport '../../focus/md-focus-ring.js';\nimport '../../ripple/ripple.js';\nimport { html, nothing } from 'lit';\n/** @protected */\nexport function renderRemoveButton({ ariaLabel, disabled, focusListener, tabbable = false, }) {\n // When an aria-label is not provided, we use two spans with aria-labelledby\n // to create the \"Remove <textContent>\" label for the remove button. The first\n // is this #remove-label span, the second is the chip's #label slot span.\n return html `\n <span id=\"remove-label\" hidden aria-hidden=\"true\">Remove</span>\n <button\n class=\"trailing action\"\n aria-label=${ariaLabel || nothing}\n aria-labelledby=${!ariaLabel ? 'remove-label label' : nothing}\n tabindex=${!tabbable ? -1 : nothing}\n @click=${handleRemoveClick}\n @focus=${focusListener}>\n <md-focus-ring part=\"trailing-focus-ring\"></md-focus-ring>\n <md-ripple ?disabled=${disabled}></md-ripple>\n <span class=\"trailing icon\" aria-hidden=\"true\">\n <slot name=\"remove-trailing-icon\">\n <svg viewBox=\"0 96 960 960\">\n <path\n d=\"m249 849-42-42 231-231-231-231 42-42 231 231 231-231 42 42-231 231 231 231-42 42-231-231-231 231Z\" />\n </svg>\n </slot>\n </span>\n <span class=\"touch\"></span>\n </button>\n `;\n}\nfunction handleRemoveClick(event) {\n if (this.disabled || this.softDisabled) {\n return;\n }\n event.stopPropagation();\n const preventDefault = !this.dispatchEvent(new Event('remove', { cancelable: true }));\n if (preventDefault) {\n return;\n }\n this.remove();\n}\n//# sourceMappingURL=trailing-icons.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport '../../elevation/elevation.js';\nimport { html, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { redispatchEvent } from '../../internal/events/redispatch-event.js';\nimport { MultiActionChip } from './multi-action-chip.js';\nimport { renderRemoveButton } from './trailing-icons.js';\n/**\n * A filter chip component.\n *\n * @fires remove {Event} Dispatched when the remove button is clicked.\n */\nexport class FilterChip extends MultiActionChip {\n constructor() {\n super(...arguments);\n this.elevated = false;\n this.removable = false;\n this.selected = false;\n /**\n * Only needed for SSR.\n *\n * Add this attribute when a filter chip has a `slot=\"selected-icon\"` to avoid\n * a Flash Of Unstyled Content.\n */\n this.hasSelectedIcon = false;\n }\n get primaryId() {\n return 'button';\n }\n getContainerClasses() {\n return {\n ...super.getContainerClasses(),\n elevated: this.elevated,\n selected: this.selected,\n 'has-trailing': this.removable,\n 'has-icon': this.hasIcon || this.selected,\n };\n }\n renderPrimaryAction(content) {\n const { ariaLabel } = this;\n return html `\n <button\n class=\"primary action\"\n id=\"button\"\n aria-label=${ariaLabel || nothing}\n aria-pressed=${this.selected}\n aria-disabled=${this.softDisabled || nothing}\n ?disabled=${this.disabled && !this.alwaysFocusable}\n @click=${this.handleClickOnChild}\n >${content}</button\n >\n `;\n }\n renderLeadingIcon() {\n if (!this.selected) {\n return super.renderLeadingIcon();\n }\n return html `\n <slot name=\"selected-icon\">\n <svg class=\"checkmark\" viewBox=\"0 0 18 18\" aria-hidden=\"true\">\n <path\n d=\"M6.75012 12.1274L3.62262 8.99988L2.55762 10.0574L6.75012 14.2499L15.7501 5.24988L14.6926 4.19238L6.75012 12.1274Z\" />\n </svg>\n </slot>\n `;\n }\n renderTrailingAction(focusListener) {\n if (this.removable) {\n return renderRemoveButton({\n focusListener,\n ariaLabel: this.ariaLabelRemove,\n disabled: this.disabled || this.softDisabled,\n });\n }\n return nothing;\n }\n renderOutline() {\n if (this.elevated) {\n return html `<md-elevation part=\"elevation\"></md-elevation>`;\n }\n return super.renderOutline();\n }\n handleClickOnChild(event) {\n if (this.disabled || this.softDisabled) {\n return;\n }\n // Store prevValue to revert in case `chip.selected` is changed during an\n // event listener.\n const prevValue = this.selected;\n this.selected = !this.selected;\n const preventDefault = !redispatchEvent(this, event);\n if (preventDefault) {\n // We should not do `this.selected = !this.selected`, since a client\n // click listener could change its value. Instead, always revert to the\n // original value.\n this.selected = prevValue;\n return;\n }\n }\n}\n__decorate([\n property({ type: Boolean })\n], FilterChip.prototype, \"elevated\", void 0);\n__decorate([\n property({ type: Boolean })\n], FilterChip.prototype, \"removable\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], FilterChip.prototype, \"selected\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true, attribute: 'has-selected-icon' })\n], FilterChip.prototype, \"hasSelectedIcon\", void 0);\n__decorate([\n query('.primary.action')\n], FilterChip.prototype, \"primaryAction\", void 0);\n__decorate([\n query('.trailing.action')\n], FilterChip.prototype, \"trailingAction\", void 0);\n//# sourceMappingURL=filter-chip.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * Re-dispatches an event from the provided element.\n *\n * This function is useful for forwarding non-composed events, such as `change`\n * events.\n *\n * @example\n * class MyInput extends LitElement {\n * render() {\n * return html`<input @change=${this.redispatchEvent}>`;\n * }\n *\n * protected redispatchEvent(event: Event) {\n * redispatchEvent(this, event);\n * }\n * }\n *\n * @param element The element to dispatch the event from.\n * @param event The event to re-dispatch.\n * @return Whether or not the event was dispatched (if cancelable).\n */\nexport function redispatchEvent(element, event) {\n // For bubbling events in SSR light DOM (or composed), stop their propagation\n // and dispatch the copy.\n if (event.bubbles && (!element.shadowRoot || event.composed)) {\n event.stopPropagation();\n }\n const copy = Reflect.construct(event.constructor, [event.type, event]);\n const dispatched = element.dispatchEvent(copy);\n if (!dispatched) {\n event.preventDefault();\n }\n return dispatched;\n}\n//# sourceMappingURL=redispatch-event.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/filter-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host{--_container-height: var(--md-filter-chip-container-height, 32px);--_disabled-label-text-color: var(--md-filter-chip-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-filter-chip-disabled-label-text-opacity, 0.38);--_elevated-container-elevation: var(--md-filter-chip-elevated-container-elevation, 1);--_elevated-container-shadow-color: var(--md-filter-chip-elevated-container-shadow-color, var(--md-sys-color-shadow, #000));--_elevated-disabled-container-color: var(--md-filter-chip-elevated-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_elevated-disabled-container-elevation: var(--md-filter-chip-elevated-disabled-container-elevation, 0);--_elevated-disabled-container-opacity: var(--md-filter-chip-elevated-disabled-container-opacity, 0.12);--_elevated-focus-container-elevation: var(--md-filter-chip-elevated-focus-container-elevation, 1);--_elevated-hover-container-elevation: var(--md-filter-chip-elevated-hover-container-elevation, 2);--_elevated-pressed-container-elevation: var(--md-filter-chip-elevated-pressed-container-elevation, 1);--_elevated-selected-container-color: var(--md-filter-chip-elevated-selected-container-color, var(--md-sys-color-secondary-container, #e8def8));--_label-text-font: var(--md-filter-chip-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-filter-chip-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-filter-chip-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-filter-chip-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_selected-focus-label-text-color: var(--md-filter-chip-selected-focus-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-label-text-color: var(--md-filter-chip-selected-hover-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-state-layer-color: var(--md-filter-chip-selected-hover-state-layer-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-state-layer-opacity: var(--md-filter-chip-selected-hover-state-layer-opacity, 0.08);--_selected-label-text-color: var(--md-filter-chip-selected-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-label-text-color: var(--md-filter-chip-selected-pressed-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-state-layer-color: var(--md-filter-chip-selected-pressed-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_selected-pressed-state-layer-opacity: var(--md-filter-chip-selected-pressed-state-layer-opacity, 0.12);--_elevated-container-color: var(--md-filter-chip-elevated-container-color, var(--md-sys-color-surface-container-low, #f7f2fa));--_disabled-outline-color: var(--md-filter-chip-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-outline-opacity: var(--md-filter-chip-disabled-outline-opacity, 0.12);--_disabled-selected-container-color: var(--md-filter-chip-disabled-selected-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-selected-container-opacity: var(--md-filter-chip-disabled-selected-container-opacity, 0.12);--_focus-outline-color: var(--md-filter-chip-focus-outline-color, var(--md-sys-color-on-surface-variant, #49454f));--_outline-color: var(--md-filter-chip-outline-color, var(--md-sys-color-outline, #79747e));--_outline-width: var(--md-filter-chip-outline-width, 1px);--_selected-container-color: var(--md-filter-chip-selected-container-color, var(--md-sys-color-secondary-container, #e8def8));--_selected-outline-width: var(--md-filter-chip-selected-outline-width, 0px);--_focus-label-text-color: var(--md-filter-chip-focus-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-label-text-color: var(--md-filter-chip-hover-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-color: var(--md-filter-chip-hover-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-opacity: var(--md-filter-chip-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-filter-chip-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-label-text-color: var(--md-filter-chip-pressed-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-state-layer-color: var(--md-filter-chip-pressed-state-layer-color, var(--md-sys-color-on-secondary-container, #1d192b));--_pressed-state-layer-opacity: var(--md-filter-chip-pressed-state-layer-opacity, 0.12);--_icon-size: var(--md-filter-chip-icon-size, 18px);--_disabled-leading-icon-color: var(--md-filter-chip-disabled-leading-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-leading-icon-opacity: var(--md-filter-chip-disabled-leading-icon-opacity, 0.38);--_selected-focus-leading-icon-color: var(--md-filter-chip-selected-focus-leading-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-leading-icon-color: var(--md-filter-chip-selected-hover-leading-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-leading-icon-color: var(--md-filter-chip-selected-leading-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-leading-icon-color: var(--md-filter-chip-selected-pressed-leading-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_focus-leading-icon-color: var(--md-filter-chip-focus-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_hover-leading-icon-color: var(--md-filter-chip-hover-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_leading-icon-color: var(--md-filter-chip-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_pressed-leading-icon-color: var(--md-filter-chip-pressed-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_disabled-trailing-icon-color: var(--md-filter-chip-disabled-trailing-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-trailing-icon-opacity: var(--md-filter-chip-disabled-trailing-icon-opacity, 0.38);--_selected-focus-trailing-icon-color: var(--md-filter-chip-selected-focus-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-trailing-icon-color: var(--md-filter-chip-selected-hover-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-trailing-icon-color: var(--md-filter-chip-selected-pressed-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-trailing-icon-color: var(--md-filter-chip-selected-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_focus-trailing-icon-color: var(--md-filter-chip-focus-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-trailing-icon-color: var(--md-filter-chip-hover-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-trailing-icon-color: var(--md-filter-chip-pressed-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_trailing-icon-color: var(--md-filter-chip-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_container-shape-start-start: var(--md-filter-chip-container-shape-start-start, var(--md-filter-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_container-shape-start-end: var(--md-filter-chip-container-shape-start-end, var(--md-filter-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_container-shape-end-end: var(--md-filter-chip-container-shape-end-end, var(--md-filter-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_container-shape-end-start: var(--md-filter-chip-container-shape-end-start, var(--md-filter-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_leading-space: var(--md-filter-chip-leading-space, 16px);--_trailing-space: var(--md-filter-chip-trailing-space, 16px);--_icon-label-space: var(--md-filter-chip-icon-label-space, 8px);--_with-leading-icon-leading-space: var(--md-filter-chip-with-leading-icon-leading-space, 8px);--_with-trailing-icon-trailing-space: var(--md-filter-chip-with-trailing-icon-trailing-space, 8px)}.selected.elevated::before{background:var(--_elevated-selected-container-color)}.checkmark{height:var(--_icon-size);width:var(--_icon-size)}.disabled .checkmark{opacity:var(--_disabled-leading-icon-opacity)}@media(forced-colors: active){.disabled .checkmark{opacity:1}}\n`;\n//# sourceMappingURL=filter-styles.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/selectable-styles.css.\nimport { css } from 'lit';\nexport const styles = css `.selected{--md-ripple-hover-color: var(--_selected-hover-state-layer-color);--md-ripple-hover-opacity: var(--_selected-hover-state-layer-opacity);--md-ripple-pressed-color: var(--_selected-pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_selected-pressed-state-layer-opacity)}:where(.selected)::before{background:var(--_selected-container-color)}:where(.selected) .outline{border-width:var(--_selected-outline-width)}:where(.selected.disabled)::before{background:var(--_disabled-selected-container-color);opacity:var(--_disabled-selected-container-opacity)}:where(.selected) .label{color:var(--_selected-label-text-color)}:where(.selected:hover) .label{color:var(--_selected-hover-label-text-color)}:where(.selected:focus) .label{color:var(--_selected-focus-label-text-color)}:where(.selected:active) .label{color:var(--_selected-pressed-label-text-color)}:where(.selected) .leading.icon{color:var(--_selected-leading-icon-color)}:where(.selected:hover) .leading.icon{color:var(--_selected-hover-leading-icon-color)}:where(.selected:focus) .leading.icon{color:var(--_selected-focus-leading-icon-color)}:where(.selected:active) .leading.icon{color:var(--_selected-pressed-leading-icon-color)}@media(forced-colors: active){:where(.selected:not(.elevated))::before{border:1px solid CanvasText}:where(.selected) .outline{border-width:1px}}\n`;\n//# sourceMappingURL=selectable-styles.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/shared-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end);display:inline-flex;height:var(--_container-height);cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}:host(:is([disabled],[soft-disabled])){pointer-events:none}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--_container-height))/2) 0}md-focus-ring{--md-focus-ring-shape-start-start: var(--_container-shape-start-start);--md-focus-ring-shape-start-end: var(--_container-shape-start-end);--md-focus-ring-shape-end-end: var(--_container-shape-end-end);--md-focus-ring-shape-end-start: var(--_container-shape-end-start)}.container{border-radius:inherit;box-sizing:border-box;display:flex;height:100%;position:relative;width:100%}.container::before{border-radius:inherit;content:\"\";inset:0;pointer-events:none;position:absolute}.container:not(.disabled){cursor:pointer}.container.disabled{pointer-events:none}.cell{display:flex}.action{align-items:baseline;appearance:none;background:none;border:none;border-radius:inherit;display:flex;outline:none;padding:0;position:relative;text-decoration:none}.primary.action{min-width:0;padding-inline-start:var(--_leading-space);padding-inline-end:var(--_trailing-space)}.has-icon .primary.action{padding-inline-start:var(--_with-leading-icon-leading-space)}.touch{height:48px;inset:50% 0 0;position:absolute;transform:translateY(-50%);width:100%}:host([touch-target=none]) .touch{display:none}.outline{border:var(--_outline-width) solid var(--_outline-color);border-radius:inherit;inset:0;pointer-events:none;position:absolute}:where(:focus) .outline{border-color:var(--_focus-outline-color)}:where(.disabled) .outline{border-color:var(--_disabled-outline-color);opacity:var(--_disabled-outline-opacity)}md-ripple{border-radius:inherit}.label,.icon,.touch{z-index:1}.label{align-items:center;color:var(--_label-text-color);display:flex;font-family:var(--_label-text-font);font-size:var(--_label-text-size);font-weight:var(--_label-text-weight);height:100%;line-height:var(--_label-text-line-height);overflow:hidden;user-select:none}.label-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(:hover) .label{color:var(--_hover-label-text-color)}:where(:focus) .label{color:var(--_focus-label-text-color)}:where(:active) .label{color:var(--_pressed-label-text-color)}:where(.disabled) .label{color:var(--_disabled-label-text-color);opacity:var(--_disabled-label-text-opacity)}.icon{align-self:center;display:flex;fill:currentColor;position:relative}.icon ::slotted(:first-child){font-size:var(--_icon-size);height:var(--_icon-size);width:var(--_icon-size)}.leading.icon{color:var(--_leading-icon-color)}.leading.icon ::slotted(*),.leading.icon svg{margin-inline-end:var(--_icon-label-space)}:where(:hover) .leading.icon{color:var(--_hover-leading-icon-color)}:where(:focus) .leading.icon{color:var(--_focus-leading-icon-color)}:where(:active) .leading.icon{color:var(--_pressed-leading-icon-color)}:where(.disabled) .leading.icon{color:var(--_disabled-leading-icon-color);opacity:var(--_disabled-leading-icon-opacity)}@media(forced-colors: active){:where(.disabled) :is(.label,.outline,.leading.icon){color:GrayText;opacity:1}}a,button{text-transform:inherit}a,button:not(:disabled,[aria-disabled=true]){cursor:inherit}\n`;\n//# sourceMappingURL=shared-styles.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/trailing-icon-styles.css.\nimport { css } from 'lit';\nexport const styles = css `.trailing.action{align-items:center;justify-content:center;padding-inline-start:var(--_icon-label-space);padding-inline-end:var(--_with-trailing-icon-trailing-space)}.trailing.action :is(md-ripple,md-focus-ring){border-radius:50%;height:calc(1.3333333333*var(--_icon-size));width:calc(1.3333333333*var(--_icon-size))}.trailing.action md-focus-ring{inset:unset}.has-trailing .primary.action{padding-inline-end:0}.trailing.icon{color:var(--_trailing-icon-color);height:var(--_icon-size);width:var(--_icon-size)}:where(:hover) .trailing.icon{color:var(--_hover-trailing-icon-color)}:where(:focus) .trailing.icon{color:var(--_focus-trailing-icon-color)}:where(:active) .trailing.icon{color:var(--_pressed-trailing-icon-color)}:where(.disabled) .trailing.icon{color:var(--_disabled-trailing-icon-color);opacity:var(--_disabled-trailing-icon-opacity)}:where(.selected) .trailing.icon{color:var(--_selected-trailing-icon-color)}:where(.selected:hover) .trailing.icon{color:var(--_selected-hover-trailing-icon-color)}:where(.selected:focus) .trailing.icon{color:var(--_selected-focus-trailing-icon-color)}:where(.selected:active) .trailing.icon{color:var(--_selected-pressed-trailing-icon-color)}@media(forced-colors: active){.trailing.icon{color:ButtonText}:where(.disabled) .trailing.icon{color:GrayText;opacity:1}}\n`;\n//# sourceMappingURL=trailing-icon-styles.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { customElement } from 'lit/decorators.js';\nimport { styles as elevatedStyles } from './internal/elevated-styles.js';\nimport { FilterChip } from './internal/filter-chip.js';\nimport { styles } from './internal/filter-styles.js';\nimport { styles as selectableStyles } from './internal/selectable-styles.js';\nimport { styles as sharedStyles } from './internal/shared-styles.js';\nimport { styles as trailingIconStyles } from './internal/trailing-icon-styles.js';\n/**\n * TODO(b/243982145): add docs\n *\n * @final\n * @suppress {visibility}\n */\nexport let MdFilterChip = class MdFilterChip extends FilterChip {\n};\nMdFilterChip.styles = [\n sharedStyles,\n elevatedStyles,\n trailingIconStyles,\n selectableStyles,\n styles,\n];\nMdFilterChip = __decorate([\n customElement('md-filter-chip')\n], MdFilterChip);\n//# sourceMappingURL=filter-chip.js.map","import '@material/web/chips/chip-set.js'\nimport '@material/web/chips/filter-chip.js'\nimport { ChipSet } from '@material/web/chips/internal/chip-set'\nimport { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\n\n@customElement('schmancy-chip')\nexport default class SchmancyChip extends $LitElement() {\n\t@query('md-chip-set') chipSet!: ChipSet\n\t@property({\n\t\ttype: String,\n\t\treflect: true,\n\t})\n\tlabel: string = ''\n\n\t@property({\n\t\ttype: String,\n\t\treflect: true,\n\t})\n\tvalue: string = ''\n\n\t@property({\n\t\ttype: Boolean,\n\t\treflect: true,\n\t})\n\tselected: boolean = false\n\n\t@property({\n\t\ttype: String,\n\t\treflect: true,\n\t})\n\ticon: string = ''\n\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<md-filter-chip\n\t\t\t\tid=\"done\"\n\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t@click=${() => {\n\t\t\t\t\tthis.selected = !this.selected\n\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent<SchmancyChipChangeEvent>('change', {\n\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\tvalue: this.value,\n\t\t\t\t\t\t\t\tselected: this.selected,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}}\n\t\t\t\t?selected=${this.selected}\n\t\t\t>\n\t\t\t\t${this.icon}\n\t\t\t</md-filter-chip>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-chip': SchmancyChip\n\t}\n}\nexport type SchmancyChipChangeEvent = { value: string; selected: boolean }\n","import '@material/web/chips/chip-set.js'\nimport '@material/web/chips/filter-chip.js'\nimport { ChipSet } from '@material/web/chips/internal/chip-set'\nimport { $LitElement } from '@mixins/index'\nimport { html, PropertyValues } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport SchmancyChip, { SchmancyChipChangeEvent } from './chip'\n\n@customElement('schmancy-chips')\nexport default class SchmancyChips extends $LitElement() {\n\t@query('md-chip-set') chipSet!: ChipSet\n\n\t@property({\n\t\ttype: Boolean,\n\t\treflect: true,\n\t})\n\tmulti = false\n\n\t@property({\n\t\ttype: Array,\n\t\treflect: true,\n\t})\n\tvalues: string[] = []\n\n\t@property({\n\t\ttype: String,\n\t\treflect: true,\n\t})\n\tvalue: string = ''\n\n\t@queryAssignedElements({\n\t\tselector: 'schmancy-chip',\n\t\tflatten: true,\n\t})\n\tchips!: SchmancyChip[]\n\n\tasync change(e: CustomEvent<SchmancyChipChangeEvent>) {\n\t\te.preventDefault()\n\t\te.stopPropagation()\n\t\tconst { value, selected } = e.detail\n\t\tif (this.multi) {\n\t\t\tif (selected) {\n\t\t\t\tthis.values = [...this.values, value]\n\t\t\t\t// find the chip that was selected\n\t\t\t\tconst chip = this.chips.find(c => c.value === value)\n\t\t\t\t// if it exists, select it\n\t\t\t\tif (chip) chip.selected = true\n\t\t\t} else {\n\t\t\t\tthis.values = this.values.filter(v => v !== value)\n\t\t\t\t// find the chip that was deselected\n\t\t\t\tconst chip = this.chips.find(c => c.value === value)\n\t\t\t\t// if it exists, deselect it\n\t\t\t\tif (chip) chip.selected = false\n\t\t\t}\n\t\t\tthis.requestUpdate()\n\t\t} else {\n\t\t\tconst { value, selected } = e.detail\n\t\t\tthis.value = selected ? value : ''\n\t\t\tconst chip = this.chips.find(c => c.value === value)\n\t\t\tif (selected) chip.selected = selected\n\t\t\telse chip.selected = false\n\t\t\t// deselect all other chips\n\t\t\tthis.chips.forEach(c => {\n\t\t\t\tif (this.value && this.value === c.value) c.selected = true\n\t\t\t\telse c.selected = false\n\t\t\t})\n\t\t\tthis.requestUpdate()\n\t\t}\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyChipsChangeEvent>('change', {\n\t\t\t\tdetail: this.multi ? this.values : this.value,\n\t\t\t\tbubbles: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprotected firstUpdated(_changedProperties: PropertyValues): void {\n\t\tsuper.firstUpdated(_changedProperties)\n\t\tthis.hydrateTabs()\n\t}\n\n\t// when value changes, update the selected chip\n\t// protected updated(_changedProperties: PropertyValues): void {\n\t// \tsuper.updated(_changedProperties)\n\t// \tif (_changedProperties.has('value')) {\n\t// \t\tthis.chips.forEach(chip => {\n\t// \t\t\tchip.selected = chip.value === this.value\n\t// \t\t\tif (chip.selected) chip.setAttribute('selected', '')\n\t// \t\t\telse chip.removeAttribute('selected')\n\t// \t\t})\n\t// \t}\n\t// }\n\n\t// attribute changes\n\t// when values change, update the selected chips\n\tattributeChangedCallback(name: string, old: string, value: string): void {\n\t\tsuper.attributeChangedCallback(name, old, value)\n\t\tif (name === 'values') {\n\t\t\tthis.hydrateTabs()\n\t\t} else if (name === 'value') {\n\t\t\tthis.hydrateTabs()\n\t\t}\n\t}\n\n\thydrateTabs() {\n\t\tthis.chips.forEach(chip => {\n\t\t\tif (this.multi) {\n\t\t\t\tif (this.values.includes(chip.value)) chip.selected = true\n\t\t\t\telse chip.selected = false\n\t\t\t} else {\n\t\t\t\tif (this.value === chip.value) chip.selected = true\n\t\t\t\telse chip.selected = false\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected render(): unknown {\n\t\treturn html` <md-chip-set @change=${this.change}>\n\t\t\t<slot @slotchange=${() => this.hydrateTabs()}></slot>\n\t\t</md-chip-set>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-chips': SchmancyChips\n\t}\n}\nexport type SchmancyChipsChangeEvent = string | Array<string>\n"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","ATTACHABLE_CONTROLLER","Symbol","FOR_ATTRIBUTE_OBSERVER","isServer","MutationObserver","records","record","hostConnected","AttachableController","this","host","getAttribute","htmlFor","removeAttribute","setAttribute","hasAttribute","isConnected","getRootNode","querySelector","currentControl","parentElement","control","attach","detach","onControlChange","addController","observe","attributeFilter","setCurrentControl","EVENTS","FocusRing","LitElement","super","visible","inward","attachableController","bind","connectedCallback","event","HANDLED_BY_FOCUS_RING","type","matches","prev","next","removeEventListener","addEventListener","changed","has","dispatchEvent","Event","update","property","Boolean","reflect","prototype","undefined","styles","css","MdFocusRing","customElement","EASING","State","FORCED_COLORS","window","matchMedia","Ripple","disabled","hovered","pressed","rippleSize","rippleScale","initialSize","state","INACTIVE","checkBoundsAfterContextMenu","render","classes","html","classMap","changedProps","shouldReactToEvent","endPressAnimation","HOLDING","TOUCH_DELAY","WAITING_FOR_CLICK","startPressAnimation","rippleStartEvent","isTouch","inBounds","Promise","resolve","setTimeout","handleClick","handleContextmenu","determineRippleSize","height","width","getBoundingClientRect","maxDim","Math","max","softEdgeSize","floor","maxRadius","sqrt","pointerEvent","scrollX","scrollY","left","top","documentX","documentY","pageX","pageY","x","y","positionEvent","endPoint","startPoint","PointerEvent","getNormalizedPointerEventCoords","mdRoot","growAnimation","cancel","getTranslationCoordinates","translateStart","translateEnd","animate","transform","pseudoElement","duration","easing","fill","animation","pressAnimationPlayState","Infinity","currentTime","to","value","isPrimary","pointerId","isPrimaryButton","buttons","bottom","right","pointerType","handleEvent","handlePointercancel","handlePointerdown","handlePointerenter","handlePointerleave","handlePointerup","query","MdRipple","ARIA_PROPERTIES","ARIA_ATTRIBUTES","map","ariaPropertyToAttribute","isAriaAttribute","attribute","includes","replace","toLowerCase","privateIgnoreAttributeChangesFor","ariaAttributeToDataAttribute","ariaAttribute","ariaAttributeToDataProperty","dashLetter","toUpperCase","chipBaseClass","base","_a","WithDelegatesAriaElement","Set","name","oldValue","newValue","attributeChangedCallback","add","delete","dataProperty","dataset","requestUpdate","ctor","ariaProperty","dataAttribute","createProperty","noAccessor","configurable","enumerable","get","prevValue","Chip","softDisabled","alwaysFocusable","label","hasIcon","options","focus","getContainerClasses","renderContainerContent","bubbles","renderOutline","primaryId","rippleDisabled","renderPrimaryAction","renderPrimaryContent","renderLeadingIcon","handleIconChange","slot","assignedElements","flatten","stopImmediatePropagation","preventDefault","shadowRootOptions","delegatesFocus","ChipSet","childElements","filter","child","internals","attachInternals","updateTabIndices","handleKeyDown","role","isLeft","isRight","isHome","isEnd","chips","trailing","forwards","getComputedStyle","direction","focusedChip","find","chip","currentIndex","indexOf","nextIndex","nextChip","chipToFocus","isChipFocusable","tabIndex","queryAssignedElements","MdChipSet","Elevation","MdElevation","ARIA_LABEL_REMOVE","MultiActionChip","ariaLabel","ariaLabelRemove","constructor","handleTrailingActionFocus","trailingAction","renderTrailingAction","primaryAction","isPrimaryFocused","isTrailingFocused","stopPropagation","once","renderRemoveButton","focusListener","tabbable","nothing","handleRemoveClick","cancelable","remove","FilterChip","elevated","removable","selected","hasSelectedIcon","content","handleClickOnChild","element","shadowRoot","composed","copy","construct","dispatched","MdFilterChip","sharedStyles","elevatedStyles","trailingIconStyles","selectableStyles","SchmancyChip","$LitElement","icon","CustomEvent","detail","__decorateClass","String","SchmancyChips","multi","values","e","v","forEach","_changedProperties","firstUpdated","hydrateTabs","old","change","Array","selector"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}
|
|
1
|
+
{"version":3,"file":"chips-C2_LRVqx.js","sources":["../node_modules/tslib/tslib.es6.mjs","../node_modules/@material/web/internal/controller/attachable-controller.js","../node_modules/@material/web/focus/internal/focus-ring.js","../node_modules/@material/web/focus/internal/focus-ring-styles.js","../node_modules/@material/web/focus/md-focus-ring.js","../node_modules/@material/web/internal/motion/animation.js","../node_modules/@material/web/ripple/internal/ripple.js","../node_modules/@material/web/ripple/internal/ripple-styles.js","../node_modules/@material/web/ripple/ripple.js","../node_modules/@material/web/internal/aria/aria.js","../node_modules/@material/web/internal/aria/delegate.js","../node_modules/@material/web/chips/internal/chip.js","../node_modules/@material/web/chips/internal/chip-set.js","../node_modules/@material/web/chips/internal/chip-set-styles.js","../node_modules/@material/web/chips/chip-set.js","../node_modules/@material/web/chips/internal/elevated-styles.js","../node_modules/@material/web/elevation/internal/elevation.js","../node_modules/@material/web/elevation/internal/elevation-styles.js","../node_modules/@material/web/elevation/elevation.js","../node_modules/@material/web/chips/internal/multi-action-chip.js","../node_modules/@material/web/chips/internal/trailing-icons.js","../node_modules/@material/web/chips/internal/filter-chip.js","../node_modules/@material/web/internal/events/redispatch-event.js","../node_modules/@material/web/chips/internal/filter-styles.js","../node_modules/@material/web/chips/internal/selectable-styles.js","../node_modules/@material/web/chips/internal/shared-styles.js","../node_modules/@material/web/chips/internal/trailing-icon-styles.js","../node_modules/@material/web/chips/filter-chip.js","../src/chips/chip.ts","../src/chips/chips.ts"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { isServer } from 'lit';\n/**\n * A key to retrieve an `Attachable` element's `AttachableController` from a\n * global `MutationObserver`.\n */\nconst ATTACHABLE_CONTROLLER = Symbol('attachableController');\nlet FOR_ATTRIBUTE_OBSERVER;\nif (!isServer) {\n /**\n * A global `MutationObserver` that reacts to `for` attribute changes on\n * `Attachable` elements. If the `for` attribute changes, the controller will\n * re-attach to the new referenced element.\n */\n FOR_ATTRIBUTE_OBSERVER = new MutationObserver((records) => {\n for (const record of records) {\n // When a control's `for` attribute changes, inform its\n // `AttachableController` to update to a new control.\n record.target[ATTACHABLE_CONTROLLER]?.hostConnected();\n }\n });\n}\n/**\n * A controller that provides an implementation for `Attachable` elements.\n *\n * @example\n * ```ts\n * class MyElement extends LitElement implements Attachable {\n * get control() { return this.attachableController.control; }\n *\n * private readonly attachableController = new AttachableController(\n * this,\n * (previousControl, newControl) => {\n * previousControl?.removeEventListener('click', this.handleClick);\n * newControl?.addEventListener('click', this.handleClick);\n * }\n * );\n *\n * // Implement remaining `Attachable` properties/methods that call the\n * // controller's properties/methods.\n * }\n * ```\n */\nexport class AttachableController {\n get htmlFor() {\n return this.host.getAttribute('for');\n }\n set htmlFor(htmlFor) {\n if (htmlFor === null) {\n this.host.removeAttribute('for');\n }\n else {\n this.host.setAttribute('for', htmlFor);\n }\n }\n get control() {\n if (this.host.hasAttribute('for')) {\n if (!this.htmlFor || !this.host.isConnected) {\n return null;\n }\n return this.host.getRootNode().querySelector(`#${this.htmlFor}`);\n }\n return this.currentControl || this.host.parentElement;\n }\n set control(control) {\n if (control) {\n this.attach(control);\n }\n else {\n this.detach();\n }\n }\n /**\n * Creates a new controller for an `Attachable` element.\n *\n * @param host The `Attachable` element.\n * @param onControlChange A callback with two parameters for the previous and\n * next control. An `Attachable` element may perform setup or teardown\n * logic whenever the control changes.\n */\n constructor(host, onControlChange) {\n this.host = host;\n this.onControlChange = onControlChange;\n this.currentControl = null;\n host.addController(this);\n host[ATTACHABLE_CONTROLLER] = this;\n FOR_ATTRIBUTE_OBSERVER?.observe(host, { attributeFilter: ['for'] });\n }\n attach(control) {\n if (control === this.currentControl) {\n return;\n }\n this.setCurrentControl(control);\n // When imperatively attaching, remove the `for` attribute so\n // that the attached control is used instead of a referenced one.\n this.host.removeAttribute('for');\n }\n detach() {\n this.setCurrentControl(null);\n // When imperatively detaching, add an empty `for=\"\"` attribute. This will\n // ensure the control is `null` rather than the `parentElement`.\n this.host.setAttribute('for', '');\n }\n /** @private */\n hostConnected() {\n this.setCurrentControl(this.control);\n }\n /** @private */\n hostDisconnected() {\n this.setCurrentControl(null);\n }\n setCurrentControl(control) {\n this.onControlChange(this.currentControl, control);\n this.currentControl = control;\n }\n}\n//# sourceMappingURL=attachable-controller.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { isServer, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { AttachableController, } from '../../internal/controller/attachable-controller.js';\n/**\n * Events that the focus ring listens to.\n */\nconst EVENTS = ['focusin', 'focusout', 'pointerdown'];\n/**\n * A focus ring component.\n *\n * @fires visibility-changed {Event} Fired whenever `visible` changes.\n */\nexport class FocusRing extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Makes the focus ring visible.\n */\n this.visible = false;\n /**\n * Makes the focus ring animate inwards instead of outwards.\n */\n this.inward = false;\n this.attachableController = new AttachableController(this, this.onControlChange.bind(this));\n }\n get htmlFor() {\n return this.attachableController.htmlFor;\n }\n set htmlFor(htmlFor) {\n this.attachableController.htmlFor = htmlFor;\n }\n get control() {\n return this.attachableController.control;\n }\n set control(control) {\n this.attachableController.control = control;\n }\n attach(control) {\n this.attachableController.attach(control);\n }\n detach() {\n this.attachableController.detach();\n }\n connectedCallback() {\n super.connectedCallback();\n // Needed for VoiceOver, which will create a \"group\" if the element is a\n // sibling to other content.\n this.setAttribute('aria-hidden', 'true');\n }\n /** @private */\n handleEvent(event) {\n if (event[HANDLED_BY_FOCUS_RING]) {\n // This ensures the focus ring does not activate when multiple focus rings\n // are used within a single component.\n return;\n }\n switch (event.type) {\n default:\n return;\n case 'focusin':\n this.visible = this.control?.matches(':focus-visible') ?? false;\n break;\n case 'focusout':\n case 'pointerdown':\n this.visible = false;\n break;\n }\n event[HANDLED_BY_FOCUS_RING] = true;\n }\n onControlChange(prev, next) {\n if (isServer)\n return;\n for (const event of EVENTS) {\n prev?.removeEventListener(event, this);\n next?.addEventListener(event, this);\n }\n }\n update(changed) {\n if (changed.has('visible')) {\n // This logic can be removed once the `:has` selector has been introduced\n // to Firefox. This is necessary to allow correct submenu styles.\n this.dispatchEvent(new Event('visibility-changed'));\n }\n super.update(changed);\n }\n}\n__decorate([\n property({ type: Boolean, reflect: true })\n], FocusRing.prototype, \"visible\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], FocusRing.prototype, \"inward\", void 0);\nconst HANDLED_BY_FOCUS_RING = Symbol('handledByFocusRing');\n//# sourceMappingURL=focus-ring.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./focus/internal/focus-ring-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host{animation-delay:0s,calc(var(--md-focus-ring-duration, 600ms)*.25);animation-duration:calc(var(--md-focus-ring-duration, 600ms)*.25),calc(var(--md-focus-ring-duration, 600ms)*.75);animation-timing-function:cubic-bezier(0.2, 0, 0, 1);box-sizing:border-box;color:var(--md-focus-ring-color, var(--md-sys-color-secondary, #625b71));display:none;pointer-events:none;position:absolute}:host([visible]){display:flex}:host(:not([inward])){animation-name:outward-grow,outward-shrink;border-end-end-radius:calc(var(--md-focus-ring-shape-end-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-end-start-radius:calc(var(--md-focus-ring-shape-end-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-start-end-radius:calc(var(--md-focus-ring-shape-start-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-start-start-radius:calc(var(--md-focus-ring-shape-start-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));inset:calc(-1*var(--md-focus-ring-outward-offset, 2px));outline:var(--md-focus-ring-width, 3px) solid currentColor}:host([inward]){animation-name:inward-grow,inward-shrink;border-end-end-radius:calc(var(--md-focus-ring-shape-end-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-end-start-radius:calc(var(--md-focus-ring-shape-end-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-start-end-radius:calc(var(--md-focus-ring-shape-start-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-start-start-radius:calc(var(--md-focus-ring-shape-start-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border:var(--md-focus-ring-width, 3px) solid currentColor;inset:var(--md-focus-ring-inward-offset, 0px)}@keyframes outward-grow{from{outline-width:0}to{outline-width:var(--md-focus-ring-active-width, 8px)}}@keyframes outward-shrink{from{outline-width:var(--md-focus-ring-active-width, 8px)}}@keyframes inward-grow{from{border-width:0}to{border-width:var(--md-focus-ring-active-width, 8px)}}@keyframes inward-shrink{from{border-width:var(--md-focus-ring-active-width, 8px)}}@media(prefers-reduced-motion){:host{animation:none}}\n`;\n//# sourceMappingURL=focus-ring-styles.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { customElement } from 'lit/decorators.js';\nimport { FocusRing } from './internal/focus-ring.js';\nimport { styles } from './internal/focus-ring-styles.js';\n/**\n * TODO(b/267336424): add docs\n *\n * @final\n * @suppress {visibility}\n */\nexport let MdFocusRing = class MdFocusRing extends FocusRing {\n};\nMdFocusRing.styles = [styles];\nMdFocusRing = __decorate([\n customElement('md-focus-ring')\n], MdFocusRing);\n//# sourceMappingURL=md-focus-ring.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * Easing functions to use for web animations.\n *\n * **NOTE:** `EASING.EMPHASIZED` is approximated with unknown accuracy.\n *\n * TODO(b/241113345): replace with tokens\n */\nexport const EASING = {\n STANDARD: 'cubic-bezier(0.2, 0, 0, 1)',\n STANDARD_ACCELERATE: 'cubic-bezier(.3,0,1,1)',\n STANDARD_DECELERATE: 'cubic-bezier(0,0,0,1)',\n EMPHASIZED: 'cubic-bezier(.3,0,0,1)',\n EMPHASIZED_ACCELERATE: 'cubic-bezier(.3,0,.8,.15)',\n EMPHASIZED_DECELERATE: 'cubic-bezier(.05,.7,.1,1)',\n};\n/**\n * Creates an `AnimationSignal` that can be used to cancel a previous task.\n *\n * @example\n * class MyClass {\n * private labelAnimationSignal = createAnimationSignal();\n *\n * private async animateLabel() {\n * // Start of the task. Previous tasks will be canceled.\n * const signal = this.labelAnimationSignal.start();\n *\n * // Do async work...\n * if (signal.aborted) {\n * // Use AbortSignal to check if a request was made to abort after some\n * // asynchronous work.\n * return;\n * }\n *\n * const animation = this.animate(...);\n * // Add event listeners to be notified when the task should be canceled.\n * signal.addEventListener('abort', () => {\n * animation.cancel();\n * });\n *\n * animation.addEventListener('finish', () => {\n * // Tell the signal that the current task is finished.\n * this.labelAnimationSignal.finish();\n * });\n * }\n * }\n *\n * @return An `AnimationSignal`.\n */\nexport function createAnimationSignal() {\n // The current animation's AbortController\n let animationAbortController = null;\n return {\n start() {\n // Tell the previous animation to cancel.\n animationAbortController?.abort();\n // Set up a new AbortController for the current animation.\n animationAbortController = new AbortController();\n // Provide the AbortSignal so that the caller can check aborted status\n // and add listeners.\n return animationAbortController.signal;\n },\n finish() {\n animationAbortController = null;\n },\n };\n}\n/**\n * Returns a function which can be used to throttle function calls\n * mapped to a key via a given function that should produce a promise that\n * determines the throttle amount (defaults to requestAnimationFrame).\n */\nexport function createThrottle() {\n const stack = new Set();\n return async (key = '', cb, timeout = async () => {\n await new Promise(requestAnimationFrame);\n }) => {\n if (!stack.has(key)) {\n stack.add(key);\n await timeout();\n if (stack.has(key)) {\n stack.delete(key);\n cb();\n }\n }\n };\n}\n/**\n * Parses an number in milliseconds from a css time value\n */\nexport function msFromTimeCSSValue(value) {\n const match = value.trim().match(/([\\d.]+)(\\s*s$)?/);\n const time = match?.[1];\n const seconds = match?.[2];\n return Number(time ?? 0) * (seconds ? 1000 : 1);\n}\n//# sourceMappingURL=animation.js.map","/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { html, isServer, LitElement } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { AttachableController, } from '../../internal/controller/attachable-controller.js';\nimport { EASING } from '../../internal/motion/animation.js';\nconst PRESS_GROW_MS = 450;\nconst MINIMUM_PRESS_MS = 225;\nconst INITIAL_ORIGIN_SCALE = 0.2;\nconst PADDING = 10;\nconst SOFT_EDGE_MINIMUM_SIZE = 75;\nconst SOFT_EDGE_CONTAINER_RATIO = 0.35;\nconst PRESS_PSEUDO = '::after';\nconst ANIMATION_FILL = 'forwards';\n/**\n * Interaction states for the ripple.\n *\n * On Touch:\n * - `INACTIVE -> TOUCH_DELAY -> WAITING_FOR_CLICK -> INACTIVE`\n * - `INACTIVE -> TOUCH_DELAY -> HOLDING -> WAITING_FOR_CLICK -> INACTIVE`\n *\n * On Mouse or Pen:\n * - `INACTIVE -> WAITING_FOR_CLICK -> INACTIVE`\n */\nvar State;\n(function (State) {\n /**\n * Initial state of the control, no touch in progress.\n *\n * Transitions:\n * - on touch down: transition to `TOUCH_DELAY`.\n * - on mouse down: transition to `WAITING_FOR_CLICK`.\n */\n State[State[\"INACTIVE\"] = 0] = \"INACTIVE\";\n /**\n * Touch down has been received, waiting to determine if it's a swipe or\n * scroll.\n *\n * Transitions:\n * - on touch up: begin press; transition to `WAITING_FOR_CLICK`.\n * - on cancel: transition to `INACTIVE`.\n * - after `TOUCH_DELAY_MS`: begin press; transition to `HOLDING`.\n */\n State[State[\"TOUCH_DELAY\"] = 1] = \"TOUCH_DELAY\";\n /**\n * A touch has been deemed to be a press\n *\n * Transitions:\n * - on up: transition to `WAITING_FOR_CLICK`.\n */\n State[State[\"HOLDING\"] = 2] = \"HOLDING\";\n /**\n * The user touch has finished, transition into rest state.\n *\n * Transitions:\n * - on click end press; transition to `INACTIVE`.\n */\n State[State[\"WAITING_FOR_CLICK\"] = 3] = \"WAITING_FOR_CLICK\";\n})(State || (State = {}));\n/**\n * Events that the ripple listens to.\n */\nconst EVENTS = [\n 'click',\n 'contextmenu',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerup',\n];\n/**\n * Delay reacting to touch so that we do not show the ripple for a swipe or\n * scroll interaction.\n */\nconst TOUCH_DELAY_MS = 150;\n/**\n * Used to detect if HCM is active. Events do not process during HCM when the\n * ripple is not displayed.\n */\nconst FORCED_COLORS = isServer\n ? null\n : window.matchMedia('(forced-colors: active)');\n/**\n * A ripple component.\n */\nexport class Ripple extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Disables the ripple.\n */\n this.disabled = false;\n this.hovered = false;\n this.pressed = false;\n this.rippleSize = '';\n this.rippleScale = '';\n this.initialSize = 0;\n this.state = State.INACTIVE;\n this.checkBoundsAfterContextMenu = false;\n this.attachableController = new AttachableController(this, this.onControlChange.bind(this));\n }\n get htmlFor() {\n return this.attachableController.htmlFor;\n }\n set htmlFor(htmlFor) {\n this.attachableController.htmlFor = htmlFor;\n }\n get control() {\n return this.attachableController.control;\n }\n set control(control) {\n this.attachableController.control = control;\n }\n attach(control) {\n this.attachableController.attach(control);\n }\n detach() {\n this.attachableController.detach();\n }\n connectedCallback() {\n super.connectedCallback();\n // Needed for VoiceOver, which will create a \"group\" if the element is a\n // sibling to other content.\n this.setAttribute('aria-hidden', 'true');\n }\n render() {\n const classes = {\n 'hovered': this.hovered,\n 'pressed': this.pressed,\n };\n return html `<div class=\"surface ${classMap(classes)}\"></div>`;\n }\n update(changedProps) {\n if (changedProps.has('disabled') && this.disabled) {\n this.hovered = false;\n this.pressed = false;\n }\n super.update(changedProps);\n }\n /**\n * TODO(b/269799771): make private\n * @private only public for slider\n */\n handlePointerenter(event) {\n if (!this.shouldReactToEvent(event)) {\n return;\n }\n this.hovered = true;\n }\n /**\n * TODO(b/269799771): make private\n * @private only public for slider\n */\n handlePointerleave(event) {\n if (!this.shouldReactToEvent(event)) {\n return;\n }\n this.hovered = false;\n // release a held mouse or pen press that moves outside the element\n if (this.state !== State.INACTIVE) {\n this.endPressAnimation();\n }\n }\n handlePointerup(event) {\n if (!this.shouldReactToEvent(event)) {\n return;\n }\n if (this.state === State.HOLDING) {\n this.state = State.WAITING_FOR_CLICK;\n return;\n }\n if (this.state === State.TOUCH_DELAY) {\n this.state = State.WAITING_FOR_CLICK;\n this.startPressAnimation(this.rippleStartEvent);\n return;\n }\n }\n async handlePointerdown(event) {\n if (!this.shouldReactToEvent(event)) {\n return;\n }\n this.rippleStartEvent = event;\n if (!this.isTouch(event)) {\n this.state = State.WAITING_FOR_CLICK;\n this.startPressAnimation(event);\n return;\n }\n // after a longpress contextmenu event, an extra `pointerdown` can be\n // dispatched to the pressed element. Check that the down is within\n // bounds of the element in this case.\n if (this.checkBoundsAfterContextMenu && !this.inBounds(event)) {\n return;\n }\n this.checkBoundsAfterContextMenu = false;\n // Wait for a hold after touch delay\n this.state = State.TOUCH_DELAY;\n await new Promise((resolve) => {\n setTimeout(resolve, TOUCH_DELAY_MS);\n });\n if (this.state !== State.TOUCH_DELAY) {\n return;\n }\n this.state = State.HOLDING;\n this.startPressAnimation(event);\n }\n handleClick() {\n // Click is a MouseEvent in Firefox and Safari, so we cannot use\n // `shouldReactToEvent`\n if (this.disabled) {\n return;\n }\n if (this.state === State.WAITING_FOR_CLICK) {\n this.endPressAnimation();\n return;\n }\n if (this.state === State.INACTIVE) {\n // keyboard synthesized click event\n this.startPressAnimation();\n this.endPressAnimation();\n }\n }\n handlePointercancel(event) {\n if (!this.shouldReactToEvent(event)) {\n return;\n }\n this.endPressAnimation();\n }\n handleContextmenu() {\n if (this.disabled) {\n return;\n }\n this.checkBoundsAfterContextMenu = true;\n this.endPressAnimation();\n }\n determineRippleSize() {\n const { height, width } = this.getBoundingClientRect();\n const maxDim = Math.max(height, width);\n const softEdgeSize = Math.max(SOFT_EDGE_CONTAINER_RATIO * maxDim, SOFT_EDGE_MINIMUM_SIZE);\n const initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE);\n const hypotenuse = Math.sqrt(width ** 2 + height ** 2);\n const maxRadius = hypotenuse + PADDING;\n this.initialSize = initialSize;\n this.rippleScale = `${(maxRadius + softEdgeSize) / initialSize}`;\n this.rippleSize = `${initialSize}px`;\n }\n getNormalizedPointerEventCoords(pointerEvent) {\n const { scrollX, scrollY } = window;\n const { left, top } = this.getBoundingClientRect();\n const documentX = scrollX + left;\n const documentY = scrollY + top;\n const { pageX, pageY } = pointerEvent;\n return { x: pageX - documentX, y: pageY - documentY };\n }\n getTranslationCoordinates(positionEvent) {\n const { height, width } = this.getBoundingClientRect();\n // end in the center\n const endPoint = {\n x: (width - this.initialSize) / 2,\n y: (height - this.initialSize) / 2,\n };\n let startPoint;\n if (positionEvent instanceof PointerEvent) {\n startPoint = this.getNormalizedPointerEventCoords(positionEvent);\n }\n else {\n startPoint = {\n x: width / 2,\n y: height / 2,\n };\n }\n // center around start point\n startPoint = {\n x: startPoint.x - this.initialSize / 2,\n y: startPoint.y - this.initialSize / 2,\n };\n return { startPoint, endPoint };\n }\n startPressAnimation(positionEvent) {\n if (!this.mdRoot) {\n return;\n }\n this.pressed = true;\n this.growAnimation?.cancel();\n this.determineRippleSize();\n const { startPoint, endPoint } = this.getTranslationCoordinates(positionEvent);\n const translateStart = `${startPoint.x}px, ${startPoint.y}px`;\n const translateEnd = `${endPoint.x}px, ${endPoint.y}px`;\n this.growAnimation = this.mdRoot.animate({\n top: [0, 0],\n left: [0, 0],\n height: [this.rippleSize, this.rippleSize],\n width: [this.rippleSize, this.rippleSize],\n transform: [\n `translate(${translateStart}) scale(1)`,\n `translate(${translateEnd}) scale(${this.rippleScale})`,\n ],\n }, {\n pseudoElement: PRESS_PSEUDO,\n duration: PRESS_GROW_MS,\n easing: EASING.STANDARD,\n fill: ANIMATION_FILL,\n });\n }\n async endPressAnimation() {\n this.rippleStartEvent = undefined;\n this.state = State.INACTIVE;\n const animation = this.growAnimation;\n let pressAnimationPlayState = Infinity;\n if (typeof animation?.currentTime === 'number') {\n pressAnimationPlayState = animation.currentTime;\n }\n else if (animation?.currentTime) {\n pressAnimationPlayState = animation.currentTime.to('ms').value;\n }\n if (pressAnimationPlayState >= MINIMUM_PRESS_MS) {\n this.pressed = false;\n return;\n }\n await new Promise((resolve) => {\n setTimeout(resolve, MINIMUM_PRESS_MS - pressAnimationPlayState);\n });\n if (this.growAnimation !== animation) {\n // A new press animation was started. The old animation was canceled and\n // should not finish the pressed state.\n return;\n }\n this.pressed = false;\n }\n /**\n * Returns `true` if\n * - the ripple element is enabled\n * - the pointer is primary for the input type\n * - the pointer is the pointer that started the interaction, or will start\n * the interaction\n * - the pointer is a touch, or the pointer state has the primary button\n * held, or the pointer is hovering\n */\n shouldReactToEvent(event) {\n if (this.disabled || !event.isPrimary) {\n return false;\n }\n if (this.rippleStartEvent &&\n this.rippleStartEvent.pointerId !== event.pointerId) {\n return false;\n }\n if (event.type === 'pointerenter' || event.type === 'pointerleave') {\n return !this.isTouch(event);\n }\n const isPrimaryButton = event.buttons === 1;\n return this.isTouch(event) || isPrimaryButton;\n }\n /**\n * Check if the event is within the bounds of the element.\n *\n * This is only needed for the \"stuck\" contextmenu longpress on Chrome.\n */\n inBounds({ x, y }) {\n const { top, left, bottom, right } = this.getBoundingClientRect();\n return x >= left && x <= right && y >= top && y <= bottom;\n }\n isTouch({ pointerType }) {\n return pointerType === 'touch';\n }\n /** @private */\n async handleEvent(event) {\n if (FORCED_COLORS?.matches) {\n // Skip event logic since the ripple is `display: none`.\n return;\n }\n switch (event.type) {\n case 'click':\n this.handleClick();\n break;\n case 'contextmenu':\n this.handleContextmenu();\n break;\n case 'pointercancel':\n this.handlePointercancel(event);\n break;\n case 'pointerdown':\n await this.handlePointerdown(event);\n break;\n case 'pointerenter':\n this.handlePointerenter(event);\n break;\n case 'pointerleave':\n this.handlePointerleave(event);\n break;\n case 'pointerup':\n this.handlePointerup(event);\n break;\n default:\n break;\n }\n }\n onControlChange(prev, next) {\n if (isServer)\n return;\n for (const event of EVENTS) {\n prev?.removeEventListener(event, this);\n next?.addEventListener(event, this);\n }\n }\n}\n__decorate([\n property({ type: Boolean, reflect: true })\n], Ripple.prototype, \"disabled\", void 0);\n__decorate([\n state()\n], Ripple.prototype, \"hovered\", void 0);\n__decorate([\n state()\n], Ripple.prototype, \"pressed\", void 0);\n__decorate([\n query('.surface')\n], Ripple.prototype, \"mdRoot\", void 0);\n//# sourceMappingURL=ripple.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./ripple/internal/ripple-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host{display:flex;margin:auto;pointer-events:none}:host([disabled]){display:none}@media(forced-colors: active){:host{display:none}}:host,.surface{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.surface{-webkit-tap-highlight-color:rgba(0,0,0,0)}.surface::before,.surface::after{content:\"\";opacity:0;position:absolute}.surface::before{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));inset:0;transition:opacity 15ms linear,background-color 15ms linear}.surface::after{background:radial-gradient(closest-side, var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20)) max(100% - 70px, 65%), transparent 100%);transform-origin:center center;transition:opacity 375ms linear}.hovered::before{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-hover-opacity, 0.08)}.pressed::after{opacity:var(--md-ripple-pressed-opacity, 0.12);transition-duration:105ms}\n`;\n//# sourceMappingURL=ripple-styles.js.map","/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { customElement } from 'lit/decorators.js';\nimport { Ripple } from './internal/ripple.js';\nimport { styles } from './internal/ripple-styles.js';\n/**\n * @summary Ripples, also known as state layers, are visual indicators used to\n * communicate the status of a component or interactive element.\n *\n * @description A state layer is a semi-transparent covering on an element that\n * indicates its state. State layers provide a systematic approach to\n * visualizing states by using opacity. A layer can be applied to an entire\n * element or in a circular shape and only one state layer can be applied at a\n * given time.\n *\n * @final\n * @suppress {visibility}\n */\nexport let MdRipple = class MdRipple extends Ripple {\n};\nMdRipple.styles = [styles];\nMdRipple = __decorate([\n customElement('md-ripple')\n], MdRipple);\n//# sourceMappingURL=ripple.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * Accessibility Object Model reflective aria properties.\n */\nexport const ARIA_PROPERTIES = [\n 'role',\n 'ariaAtomic',\n 'ariaAutoComplete',\n 'ariaBusy',\n 'ariaChecked',\n 'ariaColCount',\n 'ariaColIndex',\n 'ariaColSpan',\n 'ariaCurrent',\n 'ariaDisabled',\n 'ariaExpanded',\n 'ariaHasPopup',\n 'ariaHidden',\n 'ariaInvalid',\n 'ariaKeyShortcuts',\n 'ariaLabel',\n 'ariaLevel',\n 'ariaLive',\n 'ariaModal',\n 'ariaMultiLine',\n 'ariaMultiSelectable',\n 'ariaOrientation',\n 'ariaPlaceholder',\n 'ariaPosInSet',\n 'ariaPressed',\n 'ariaReadOnly',\n 'ariaRequired',\n 'ariaRoleDescription',\n 'ariaRowCount',\n 'ariaRowIndex',\n 'ariaRowSpan',\n 'ariaSelected',\n 'ariaSetSize',\n 'ariaSort',\n 'ariaValueMax',\n 'ariaValueMin',\n 'ariaValueNow',\n 'ariaValueText',\n];\n/**\n * Accessibility Object Model aria attributes.\n */\nexport const ARIA_ATTRIBUTES = ARIA_PROPERTIES.map(ariaPropertyToAttribute);\n/**\n * Checks if an attribute is one of the AOM aria attributes.\n *\n * @example\n * isAriaAttribute('aria-label'); // true\n *\n * @param attribute The attribute to check.\n * @return True if the attribute is an aria attribute, or false if not.\n */\nexport function isAriaAttribute(attribute) {\n return ARIA_ATTRIBUTES.includes(attribute);\n}\n/**\n * Converts an AOM aria property into its corresponding attribute.\n *\n * @example\n * ariaPropertyToAttribute('ariaLabel'); // 'aria-label'\n *\n * @param property The aria property.\n * @return The aria attribute.\n */\nexport function ariaPropertyToAttribute(property) {\n return property\n .replace('aria', 'aria-')\n // IDREF attributes also include an \"Element\" or \"Elements\" suffix\n .replace(/Elements?/g, '')\n .toLowerCase();\n}\n//# sourceMappingURL=aria.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { isServer } from 'lit';\nimport { ARIA_PROPERTIES, ariaPropertyToAttribute, isAriaAttribute, } from './aria.js';\n// Private symbols\nconst privateIgnoreAttributeChangesFor = Symbol('privateIgnoreAttributeChangesFor');\n/**\n * Mixes in aria delegation for elements that delegate focus and aria to inner\n * shadow root elements.\n *\n * This mixin fixes invalid aria announcements with shadow roots, caused by\n * duplicate aria attributes on both the host and the inner shadow root element.\n *\n * Note: this mixin **does not yet support** ID reference attributes, such as\n * `aria-labelledby` or `aria-controls`.\n *\n * @example\n * ```ts\n * class MyButton extends mixinDelegatesAria(LitElement) {\n * static shadowRootOptions = {mode: 'open', delegatesFocus: true};\n *\n * render() {\n * return html`\n * <button aria-label=${this.ariaLabel || nothing}>\n * <slot></slot>\n * </button>\n * `;\n * }\n * }\n * ```\n * ```html\n * <my-button aria-label=\"Plus one\">+1</my-button>\n * ```\n *\n * Use `ARIAMixinStrict` for lit analyzer strict types, such as the \"role\"\n * attribute.\n *\n * @example\n * ```ts\n * return html`\n * <button role=${(this as ARIAMixinStrict).role || nothing}>\n * <slot></slot>\n * </button>\n * `;\n * ```\n *\n * In the future, updates to the Accessibility Object Model (AOM) will provide\n * built-in aria delegation features that will replace this mixin.\n *\n * @param base The class to mix functionality into.\n * @return The provided class with aria delegation mixed in.\n */\nexport function mixinDelegatesAria(base) {\n var _a;\n if (isServer) {\n // Don't shift attributes when running with lit-ssr. The SSR renderer\n // implements a subset of DOM APIs, including the methods this mixin\n // overrides, causing errors. We don't need to shift on the server anyway\n // since elements will shift attributes immediately once they hydrate.\n return base;\n }\n class WithDelegatesAriaElement extends base {\n constructor() {\n super(...arguments);\n this[_a] = new Set();\n }\n attributeChangedCallback(name, oldValue, newValue) {\n if (!isAriaAttribute(name)) {\n super.attributeChangedCallback(name, oldValue, newValue);\n return;\n }\n if (this[privateIgnoreAttributeChangesFor].has(name)) {\n return;\n }\n // Don't trigger another `attributeChangedCallback` once we remove the\n // aria attribute from the host. We check the explicit name of the\n // attribute to ignore since `attributeChangedCallback` can be called\n // multiple times out of an expected order when hydrating an element with\n // multiple attributes.\n this[privateIgnoreAttributeChangesFor].add(name);\n this.removeAttribute(name);\n this[privateIgnoreAttributeChangesFor].delete(name);\n const dataProperty = ariaAttributeToDataProperty(name);\n if (newValue === null) {\n delete this.dataset[dataProperty];\n }\n else {\n this.dataset[dataProperty] = newValue;\n }\n this.requestUpdate(ariaAttributeToDataProperty(name), oldValue);\n }\n getAttribute(name) {\n if (isAriaAttribute(name)) {\n return super.getAttribute(ariaAttributeToDataAttribute(name));\n }\n return super.getAttribute(name);\n }\n removeAttribute(name) {\n super.removeAttribute(name);\n if (isAriaAttribute(name)) {\n super.removeAttribute(ariaAttributeToDataAttribute(name));\n // Since `aria-*` attributes are already removed`, we need to request\n // an update because `attributeChangedCallback` will not be called.\n this.requestUpdate();\n }\n }\n }\n _a = privateIgnoreAttributeChangesFor;\n setupDelegatesAriaProperties(WithDelegatesAriaElement);\n return WithDelegatesAriaElement;\n}\n/**\n * Overrides the constructor's native `ARIAMixin` properties to ensure that\n * aria properties reflect the values that were shifted to a data attribute.\n *\n * @param ctor The `ReactiveElement` constructor to patch.\n */\nfunction setupDelegatesAriaProperties(ctor) {\n for (const ariaProperty of ARIA_PROPERTIES) {\n // The casing between ariaProperty and the dataProperty may be different.\n // ex: aria-haspopup -> ariaHasPopup\n const ariaAttribute = ariaPropertyToAttribute(ariaProperty);\n // ex: aria-haspopup -> data-aria-haspopup\n const dataAttribute = ariaAttributeToDataAttribute(ariaAttribute);\n // ex: aria-haspopup -> dataset.ariaHaspopup\n const dataProperty = ariaAttributeToDataProperty(ariaAttribute);\n // Call `ReactiveElement.createProperty()` so that the `aria-*` and `data-*`\n // attributes are added to the `static observedAttributes` array. This\n // triggers `attributeChangedCallback` for the delegates aria mixin to\n // handle.\n ctor.createProperty(ariaProperty, {\n attribute: ariaAttribute,\n noAccessor: true,\n });\n ctor.createProperty(Symbol(dataAttribute), {\n attribute: dataAttribute,\n noAccessor: true,\n });\n // Re-define the `ARIAMixin` properties to handle data attribute shifting.\n // It is safe to use `Object.defineProperty` here because the properties\n // are native and not renamed.\n // tslint:disable-next-line:ban-unsafe-reflection\n Object.defineProperty(ctor.prototype, ariaProperty, {\n configurable: true,\n enumerable: true,\n get() {\n return this.dataset[dataProperty] ?? null;\n },\n set(value) {\n const prevValue = this.dataset[dataProperty] ?? null;\n if (value === prevValue) {\n return;\n }\n if (value === null) {\n delete this.dataset[dataProperty];\n }\n else {\n this.dataset[dataProperty] = value;\n }\n this.requestUpdate(ariaProperty, prevValue);\n },\n });\n }\n}\nfunction ariaAttributeToDataAttribute(ariaAttribute) {\n // aria-haspopup -> data-aria-haspopup\n return `data-${ariaAttribute}`;\n}\nfunction ariaAttributeToDataProperty(ariaAttribute) {\n // aria-haspopup -> dataset.ariaHaspopup\n return ariaAttribute.replace(/-\\w/, (dashLetter) => dashLetter[1].toUpperCase());\n}\n//# sourceMappingURL=delegate.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport '../../focus/md-focus-ring.js';\nimport '../../ripple/ripple.js';\nimport { html, isServer, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { mixinDelegatesAria } from '../../internal/aria/delegate.js';\n// Separate variable needed for closure.\nconst chipBaseClass = mixinDelegatesAria(LitElement);\n/**\n * A chip component.\n *\n * @fires update-focus {Event} Dispatched when `disabled` is toggled. --bubbles\n */\nexport class Chip extends chipBaseClass {\n /**\n * Whether or not the primary ripple is disabled (defaults to `disabled`).\n * Some chip actions such as links cannot be disabled.\n */\n get rippleDisabled() {\n return this.disabled || this.softDisabled;\n }\n constructor() {\n super();\n /**\n * Whether or not the chip is disabled.\n *\n * Disabled chips are not focusable, unless `always-focusable` is set.\n */\n this.disabled = false;\n /**\n * Whether or not the chip is \"soft-disabled\" (disabled but still\n * focusable).\n *\n * Use this when a chip needs increased visibility when disabled. See\n * https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_disabled_controls\n * for more guidance on when this is needed.\n */\n this.softDisabled = false;\n /**\n * When true, allow disabled chips to be focused with arrow keys.\n *\n * Add this when a chip needs increased visibility when disabled. See\n * https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_disabled_controls\n * for more guidance on when this is needed.\n *\n * @deprecated Use `softDisabled` instead of `alwaysFocusable` + `disabled`.\n */\n this.alwaysFocusable = false;\n // TODO(b/350810013): remove the label property.\n /**\n * The label of the chip.\n *\n * @deprecated Set text as content of the chip instead.\n */\n this.label = '';\n /**\n * Only needed for SSR.\n *\n * Add this attribute when a chip has a `slot=\"icon\"` to avoid a Flash Of\n * Unstyled Content.\n */\n this.hasIcon = false;\n if (!isServer) {\n this.addEventListener('click', this.handleClick.bind(this));\n }\n }\n focus(options) {\n if (this.disabled && !this.alwaysFocusable) {\n return;\n }\n super.focus(options);\n }\n render() {\n return html `\n <div class=\"container ${classMap(this.getContainerClasses())}\">\n ${this.renderContainerContent()}\n </div>\n `;\n }\n updated(changed) {\n if (changed.has('disabled') && changed.get('disabled') !== undefined) {\n this.dispatchEvent(new Event('update-focus', { bubbles: true }));\n }\n }\n getContainerClasses() {\n return {\n 'disabled': this.disabled || this.softDisabled,\n 'has-icon': this.hasIcon,\n };\n }\n renderContainerContent() {\n return html `\n ${this.renderOutline()}\n <md-focus-ring part=\"focus-ring\" for=${this.primaryId}></md-focus-ring>\n <md-ripple\n for=${this.primaryId}\n ?disabled=${this.rippleDisabled}></md-ripple>\n ${this.renderPrimaryAction(this.renderPrimaryContent())}\n `;\n }\n renderOutline() {\n return html `<span class=\"outline\"></span>`;\n }\n renderLeadingIcon() {\n return html `<slot name=\"icon\" @slotchange=${this.handleIconChange}></slot>`;\n }\n renderPrimaryContent() {\n return html `\n <span class=\"leading icon\" aria-hidden=\"true\">\n ${this.renderLeadingIcon()}\n </span>\n <span class=\"label\">\n <span class=\"label-text\" id=\"label\">\n ${this.label ? this.label : html `<slot></slot>`}\n </span>\n </span>\n <span class=\"touch\"></span>\n `;\n }\n handleIconChange(event) {\n const slot = event.target;\n this.hasIcon = slot.assignedElements({ flatten: true }).length > 0;\n }\n handleClick(event) {\n // If the chip is soft-disabled or disabled + always-focusable, we need to\n // explicitly prevent the click from propagating to other event listeners\n // as well as prevent the default action.\n if (this.softDisabled || (this.disabled && this.alwaysFocusable)) {\n event.stopImmediatePropagation();\n event.preventDefault();\n return;\n }\n }\n}\n/** @nocollapse */\nChip.shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n};\n__decorate([\n property({ type: Boolean, reflect: true })\n], Chip.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean, attribute: 'soft-disabled', reflect: true })\n], Chip.prototype, \"softDisabled\", void 0);\n__decorate([\n property({ type: Boolean, attribute: 'always-focusable' })\n], Chip.prototype, \"alwaysFocusable\", void 0);\n__decorate([\n property()\n], Chip.prototype, \"label\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true, attribute: 'has-icon' })\n], Chip.prototype, \"hasIcon\", void 0);\n//# sourceMappingURL=chip.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { html, isServer, LitElement } from 'lit';\nimport { queryAssignedElements } from 'lit/decorators.js';\nimport { Chip } from './chip.js';\n/**\n * A chip set component.\n */\nexport class ChipSet extends LitElement {\n get chips() {\n return this.childElements.filter((child) => child instanceof Chip);\n }\n constructor() {\n super();\n this.internals = \n // Cast needed for closure\n this.attachInternals();\n if (!isServer) {\n this.addEventListener('focusin', this.updateTabIndices.bind(this));\n this.addEventListener('update-focus', this.updateTabIndices.bind(this));\n this.addEventListener('keydown', this.handleKeyDown.bind(this));\n this.internals.role = 'toolbar';\n }\n }\n render() {\n return html `<slot @slotchange=${this.updateTabIndices}></slot>`;\n }\n handleKeyDown(event) {\n const isLeft = event.key === 'ArrowLeft';\n const isRight = event.key === 'ArrowRight';\n const isHome = event.key === 'Home';\n const isEnd = event.key === 'End';\n // Ignore non-navigation keys\n if (!isLeft && !isRight && !isHome && !isEnd) {\n return;\n }\n const { chips } = this;\n // Don't try to select another chip if there aren't any.\n if (chips.length < 2) {\n return;\n }\n // Prevent default interactions, such as scrolling.\n event.preventDefault();\n if (isHome || isEnd) {\n const index = isHome ? 0 : chips.length - 1;\n chips[index].focus({ trailing: isEnd });\n this.updateTabIndices();\n return;\n }\n // Check if moving forwards or backwards\n const isRtl = getComputedStyle(this).direction === 'rtl';\n const forwards = isRtl ? isLeft : isRight;\n const focusedChip = chips.find((chip) => chip.matches(':focus-within'));\n if (!focusedChip) {\n // If there is not already a chip focused, select the first or last chip\n // based on the direction we're traveling.\n const nextChip = forwards ? chips[0] : chips[chips.length - 1];\n nextChip.focus({ trailing: !forwards });\n this.updateTabIndices();\n return;\n }\n const currentIndex = chips.indexOf(focusedChip);\n let nextIndex = forwards ? currentIndex + 1 : currentIndex - 1;\n // Search for the next sibling that is not disabled to select.\n // If we return to the host index, there is nothing to select.\n while (nextIndex !== currentIndex) {\n if (nextIndex >= chips.length) {\n // Return to start if moving past the last item.\n nextIndex = 0;\n }\n else if (nextIndex < 0) {\n // Go to end if moving before the first item.\n nextIndex = chips.length - 1;\n }\n // Check if the next sibling is disabled. If so,\n // move the index and continue searching.\n //\n // Some toolbar items may be focusable when disabled for increased\n // visibility.\n const nextChip = chips[nextIndex];\n if (nextChip.disabled && !nextChip.alwaysFocusable) {\n if (forwards) {\n nextIndex++;\n }\n else {\n nextIndex--;\n }\n continue;\n }\n nextChip.focus({ trailing: !forwards });\n this.updateTabIndices();\n break;\n }\n }\n updateTabIndices() {\n // The chip that should be focusable is either the chip that currently has\n // focus or the first chip that can be focused.\n const { chips } = this;\n let chipToFocus;\n for (const chip of chips) {\n const isChipFocusable = chip.alwaysFocusable || !chip.disabled;\n const chipIsFocused = chip.matches(':focus-within');\n if (chipIsFocused && isChipFocusable) {\n // Found the first chip that is actively focused. This overrides the\n // first focusable chip found.\n chipToFocus = chip;\n continue;\n }\n if (isChipFocusable && !chipToFocus) {\n chipToFocus = chip;\n }\n // Disable non-focused chips. If we disable all of them, we'll grant focus\n // to the first focusable child that was found.\n chip.tabIndex = -1;\n }\n if (chipToFocus) {\n chipToFocus.tabIndex = 0;\n }\n }\n}\n__decorate([\n queryAssignedElements()\n], ChipSet.prototype, \"childElements\", void 0);\n//# sourceMappingURL=chip-set.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/chip-set-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host{display:flex;flex-wrap:wrap;gap:8px}\n`;\n//# sourceMappingURL=chip-set-styles.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { customElement } from 'lit/decorators.js';\nimport { ChipSet } from './internal/chip-set.js';\nimport { styles } from './internal/chip-set-styles.js';\n/**\n * TODO(b/243982145): add docs\n *\n * @final\n * @suppress {visibility}\n */\nexport let MdChipSet = class MdChipSet extends ChipSet {\n};\nMdChipSet.styles = [styles];\nMdChipSet = __decorate([\n customElement('md-chip-set')\n], MdChipSet);\n//# sourceMappingURL=chip-set.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/elevated-styles.css.\nimport { css } from 'lit';\nexport const styles = css `.elevated{--md-elevation-level: var(--_elevated-container-elevation);--md-elevation-shadow-color: var(--_elevated-container-shadow-color)}.elevated::before{background:var(--_elevated-container-color)}.elevated:hover{--md-elevation-level: var(--_elevated-hover-container-elevation)}.elevated:focus-within{--md-elevation-level: var(--_elevated-focus-container-elevation)}.elevated:active{--md-elevation-level: var(--_elevated-pressed-container-elevation)}.elevated.disabled{--md-elevation-level: var(--_elevated-disabled-container-elevation)}.elevated.disabled::before{background:var(--_elevated-disabled-container-color);opacity:var(--_elevated-disabled-container-opacity)}@media(forced-colors: active){.elevated md-elevation{border:1px solid CanvasText}.elevated.disabled md-elevation{border-color:GrayText}}\n`;\n//# sourceMappingURL=elevated-styles.js.map","/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { html, LitElement } from 'lit';\n/**\n * A component for elevation.\n */\nexport class Elevation extends LitElement {\n connectedCallback() {\n super.connectedCallback();\n // Needed for VoiceOver, which will create a \"group\" if the element is a\n // sibling to other content.\n this.setAttribute('aria-hidden', 'true');\n }\n render() {\n return html `<span class=\"shadow\"></span>`;\n }\n}\n//# sourceMappingURL=elevation.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./elevation/internal/elevation-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host,.shadow,.shadow::before,.shadow::after{border-radius:inherit;inset:0;position:absolute;transition-duration:inherit;transition-property:inherit;transition-timing-function:inherit}:host{display:flex;pointer-events:none;transition-property:box-shadow,opacity}.shadow::before,.shadow::after{content:\"\";transition-property:box-shadow,opacity;--_level: var(--md-elevation-level, 0);--_shadow-color: var(--md-elevation-shadow-color, var(--md-sys-color-shadow, #000))}.shadow::before{box-shadow:0px calc(1px*(clamp(0,var(--_level),1) + clamp(0,var(--_level) - 3,1) + 2*clamp(0,var(--_level) - 4,1))) calc(1px*(2*clamp(0,var(--_level),1) + clamp(0,var(--_level) - 2,1) + clamp(0,var(--_level) - 4,1))) 0px var(--_shadow-color);opacity:.3}.shadow::after{box-shadow:0px calc(1px*(clamp(0,var(--_level),1) + clamp(0,var(--_level) - 1,1) + 2*clamp(0,var(--_level) - 2,3))) calc(1px*(3*clamp(0,var(--_level),2) + 2*clamp(0,var(--_level) - 2,3))) calc(1px*(clamp(0,var(--_level),4) + 2*clamp(0,var(--_level) - 4,1))) var(--_shadow-color);opacity:.15}\n`;\n//# sourceMappingURL=elevation-styles.js.map","/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { customElement } from 'lit/decorators.js';\nimport { Elevation } from './internal/elevation.js';\nimport { styles } from './internal/elevation-styles.js';\n/**\n * The `<md-elevation>` custom element with default styles.\n *\n * Elevation is the relative distance between two surfaces along the z-axis.\n *\n * @final\n * @suppress {visibility}\n */\nexport let MdElevation = class MdElevation extends Elevation {\n};\nMdElevation.styles = [styles];\nMdElevation = __decorate([\n customElement('md-elevation')\n], MdElevation);\n//# sourceMappingURL=elevation.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { html, isServer } from 'lit';\nimport { Chip } from './chip.js';\nconst ARIA_LABEL_REMOVE = 'aria-label-remove';\n/**\n * A chip component with multiple actions.\n */\nexport class MultiActionChip extends Chip {\n get ariaLabelRemove() {\n if (this.hasAttribute(ARIA_LABEL_REMOVE)) {\n return this.getAttribute(ARIA_LABEL_REMOVE);\n }\n const { ariaLabel } = this;\n // TODO(b/350810013): remove `this.label` when label property is removed.\n if (ariaLabel || this.label) {\n return `Remove ${ariaLabel || this.label}`;\n }\n return null;\n }\n set ariaLabelRemove(ariaLabel) {\n const prev = this.ariaLabelRemove;\n if (ariaLabel === prev) {\n return;\n }\n if (ariaLabel === null) {\n this.removeAttribute(ARIA_LABEL_REMOVE);\n }\n else {\n this.setAttribute(ARIA_LABEL_REMOVE, ariaLabel);\n }\n this.requestUpdate();\n }\n constructor() {\n super();\n this.handleTrailingActionFocus = this.handleTrailingActionFocus.bind(this);\n if (!isServer) {\n this.addEventListener('keydown', this.handleKeyDown.bind(this));\n }\n }\n focus(options) {\n const isFocusable = this.alwaysFocusable || !this.disabled;\n if (isFocusable && options?.trailing && this.trailingAction) {\n this.trailingAction.focus(options);\n return;\n }\n super.focus(options);\n }\n renderContainerContent() {\n return html `\n ${super.renderContainerContent()}\n ${this.renderTrailingAction(this.handleTrailingActionFocus)}\n `;\n }\n handleKeyDown(event) {\n const isLeft = event.key === 'ArrowLeft';\n const isRight = event.key === 'ArrowRight';\n // Ignore non-navigation keys.\n if (!isLeft && !isRight) {\n return;\n }\n if (!this.primaryAction || !this.trailingAction) {\n // Does not have multiple actions.\n return;\n }\n // Check if moving forwards or backwards\n const isRtl = getComputedStyle(this).direction === 'rtl';\n const forwards = isRtl ? isLeft : isRight;\n const isPrimaryFocused = this.primaryAction?.matches(':focus-within');\n const isTrailingFocused = this.trailingAction?.matches(':focus-within');\n if ((forwards && isTrailingFocused) || (!forwards && isPrimaryFocused)) {\n // Moving outside of the chip, it will be handled by the chip set.\n return;\n }\n // Prevent default interactions, such as scrolling.\n event.preventDefault();\n // Don't let the chip set handle this navigation event.\n event.stopPropagation();\n const actionToFocus = forwards ? this.trailingAction : this.primaryAction;\n actionToFocus.focus();\n }\n handleTrailingActionFocus() {\n const { primaryAction, trailingAction } = this;\n if (!primaryAction || !trailingAction) {\n return;\n }\n // Temporarily turn off the primary action's focusability. This allows\n // shift+tab from the trailing action to move to the previous chip rather\n // than the primary action in the same chip.\n primaryAction.tabIndex = -1;\n trailingAction.addEventListener('focusout', () => {\n primaryAction.tabIndex = 0;\n }, { once: true });\n }\n}\n//# sourceMappingURL=multi-action-chip.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport '../../focus/md-focus-ring.js';\nimport '../../ripple/ripple.js';\nimport { html, nothing } from 'lit';\n/** @protected */\nexport function renderRemoveButton({ ariaLabel, disabled, focusListener, tabbable = false, }) {\n // When an aria-label is not provided, we use two spans with aria-labelledby\n // to create the \"Remove <textContent>\" label for the remove button. The first\n // is this #remove-label span, the second is the chip's #label slot span.\n return html `\n <span id=\"remove-label\" hidden aria-hidden=\"true\">Remove</span>\n <button\n class=\"trailing action\"\n aria-label=${ariaLabel || nothing}\n aria-labelledby=${!ariaLabel ? 'remove-label label' : nothing}\n tabindex=${!tabbable ? -1 : nothing}\n @click=${handleRemoveClick}\n @focus=${focusListener}>\n <md-focus-ring part=\"trailing-focus-ring\"></md-focus-ring>\n <md-ripple ?disabled=${disabled}></md-ripple>\n <span class=\"trailing icon\" aria-hidden=\"true\">\n <slot name=\"remove-trailing-icon\">\n <svg viewBox=\"0 96 960 960\">\n <path\n d=\"m249 849-42-42 231-231-231-231 42-42 231 231 231-231 42 42-231 231 231 231-42 42-231-231-231 231Z\" />\n </svg>\n </slot>\n </span>\n <span class=\"touch\"></span>\n </button>\n `;\n}\nfunction handleRemoveClick(event) {\n if (this.disabled || this.softDisabled) {\n return;\n }\n event.stopPropagation();\n const preventDefault = !this.dispatchEvent(new Event('remove', { cancelable: true }));\n if (preventDefault) {\n return;\n }\n this.remove();\n}\n//# sourceMappingURL=trailing-icons.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport '../../elevation/elevation.js';\nimport { html, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { redispatchEvent } from '../../internal/events/redispatch-event.js';\nimport { MultiActionChip } from './multi-action-chip.js';\nimport { renderRemoveButton } from './trailing-icons.js';\n/**\n * A filter chip component.\n *\n * @fires remove {Event} Dispatched when the remove button is clicked.\n */\nexport class FilterChip extends MultiActionChip {\n constructor() {\n super(...arguments);\n this.elevated = false;\n this.removable = false;\n this.selected = false;\n /**\n * Only needed for SSR.\n *\n * Add this attribute when a filter chip has a `slot=\"selected-icon\"` to avoid\n * a Flash Of Unstyled Content.\n */\n this.hasSelectedIcon = false;\n }\n get primaryId() {\n return 'button';\n }\n getContainerClasses() {\n return {\n ...super.getContainerClasses(),\n elevated: this.elevated,\n selected: this.selected,\n 'has-trailing': this.removable,\n 'has-icon': this.hasIcon || this.selected,\n };\n }\n renderPrimaryAction(content) {\n const { ariaLabel } = this;\n return html `\n <button\n class=\"primary action\"\n id=\"button\"\n aria-label=${ariaLabel || nothing}\n aria-pressed=${this.selected}\n aria-disabled=${this.softDisabled || nothing}\n ?disabled=${this.disabled && !this.alwaysFocusable}\n @click=${this.handleClickOnChild}\n >${content}</button\n >\n `;\n }\n renderLeadingIcon() {\n if (!this.selected) {\n return super.renderLeadingIcon();\n }\n return html `\n <slot name=\"selected-icon\">\n <svg class=\"checkmark\" viewBox=\"0 0 18 18\" aria-hidden=\"true\">\n <path\n d=\"M6.75012 12.1274L3.62262 8.99988L2.55762 10.0574L6.75012 14.2499L15.7501 5.24988L14.6926 4.19238L6.75012 12.1274Z\" />\n </svg>\n </slot>\n `;\n }\n renderTrailingAction(focusListener) {\n if (this.removable) {\n return renderRemoveButton({\n focusListener,\n ariaLabel: this.ariaLabelRemove,\n disabled: this.disabled || this.softDisabled,\n });\n }\n return nothing;\n }\n renderOutline() {\n if (this.elevated) {\n return html `<md-elevation part=\"elevation\"></md-elevation>`;\n }\n return super.renderOutline();\n }\n handleClickOnChild(event) {\n if (this.disabled || this.softDisabled) {\n return;\n }\n // Store prevValue to revert in case `chip.selected` is changed during an\n // event listener.\n const prevValue = this.selected;\n this.selected = !this.selected;\n const preventDefault = !redispatchEvent(this, event);\n if (preventDefault) {\n // We should not do `this.selected = !this.selected`, since a client\n // click listener could change its value. Instead, always revert to the\n // original value.\n this.selected = prevValue;\n return;\n }\n }\n}\n__decorate([\n property({ type: Boolean })\n], FilterChip.prototype, \"elevated\", void 0);\n__decorate([\n property({ type: Boolean })\n], FilterChip.prototype, \"removable\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], FilterChip.prototype, \"selected\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true, attribute: 'has-selected-icon' })\n], FilterChip.prototype, \"hasSelectedIcon\", void 0);\n__decorate([\n query('.primary.action')\n], FilterChip.prototype, \"primaryAction\", void 0);\n__decorate([\n query('.trailing.action')\n], FilterChip.prototype, \"trailingAction\", void 0);\n//# sourceMappingURL=filter-chip.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * Re-dispatches an event from the provided element.\n *\n * This function is useful for forwarding non-composed events, such as `change`\n * events.\n *\n * @example\n * class MyInput extends LitElement {\n * render() {\n * return html`<input @change=${this.redispatchEvent}>`;\n * }\n *\n * protected redispatchEvent(event: Event) {\n * redispatchEvent(this, event);\n * }\n * }\n *\n * @param element The element to dispatch the event from.\n * @param event The event to re-dispatch.\n * @return Whether or not the event was dispatched (if cancelable).\n */\nexport function redispatchEvent(element, event) {\n // For bubbling events in SSR light DOM (or composed), stop their propagation\n // and dispatch the copy.\n if (event.bubbles && (!element.shadowRoot || event.composed)) {\n event.stopPropagation();\n }\n const copy = Reflect.construct(event.constructor, [event.type, event]);\n const dispatched = element.dispatchEvent(copy);\n if (!dispatched) {\n event.preventDefault();\n }\n return dispatched;\n}\n//# sourceMappingURL=redispatch-event.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/filter-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host{--_container-height: var(--md-filter-chip-container-height, 32px);--_disabled-label-text-color: var(--md-filter-chip-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-filter-chip-disabled-label-text-opacity, 0.38);--_elevated-container-elevation: var(--md-filter-chip-elevated-container-elevation, 1);--_elevated-container-shadow-color: var(--md-filter-chip-elevated-container-shadow-color, var(--md-sys-color-shadow, #000));--_elevated-disabled-container-color: var(--md-filter-chip-elevated-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_elevated-disabled-container-elevation: var(--md-filter-chip-elevated-disabled-container-elevation, 0);--_elevated-disabled-container-opacity: var(--md-filter-chip-elevated-disabled-container-opacity, 0.12);--_elevated-focus-container-elevation: var(--md-filter-chip-elevated-focus-container-elevation, 1);--_elevated-hover-container-elevation: var(--md-filter-chip-elevated-hover-container-elevation, 2);--_elevated-pressed-container-elevation: var(--md-filter-chip-elevated-pressed-container-elevation, 1);--_elevated-selected-container-color: var(--md-filter-chip-elevated-selected-container-color, var(--md-sys-color-secondary-container, #e8def8));--_label-text-font: var(--md-filter-chip-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-filter-chip-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-filter-chip-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-filter-chip-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_selected-focus-label-text-color: var(--md-filter-chip-selected-focus-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-label-text-color: var(--md-filter-chip-selected-hover-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-state-layer-color: var(--md-filter-chip-selected-hover-state-layer-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-state-layer-opacity: var(--md-filter-chip-selected-hover-state-layer-opacity, 0.08);--_selected-label-text-color: var(--md-filter-chip-selected-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-label-text-color: var(--md-filter-chip-selected-pressed-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-state-layer-color: var(--md-filter-chip-selected-pressed-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_selected-pressed-state-layer-opacity: var(--md-filter-chip-selected-pressed-state-layer-opacity, 0.12);--_elevated-container-color: var(--md-filter-chip-elevated-container-color, var(--md-sys-color-surface-container-low, #f7f2fa));--_disabled-outline-color: var(--md-filter-chip-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-outline-opacity: var(--md-filter-chip-disabled-outline-opacity, 0.12);--_disabled-selected-container-color: var(--md-filter-chip-disabled-selected-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-selected-container-opacity: var(--md-filter-chip-disabled-selected-container-opacity, 0.12);--_focus-outline-color: var(--md-filter-chip-focus-outline-color, var(--md-sys-color-on-surface-variant, #49454f));--_outline-color: var(--md-filter-chip-outline-color, var(--md-sys-color-outline, #79747e));--_outline-width: var(--md-filter-chip-outline-width, 1px);--_selected-container-color: var(--md-filter-chip-selected-container-color, var(--md-sys-color-secondary-container, #e8def8));--_selected-outline-width: var(--md-filter-chip-selected-outline-width, 0px);--_focus-label-text-color: var(--md-filter-chip-focus-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-label-text-color: var(--md-filter-chip-hover-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-color: var(--md-filter-chip-hover-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-opacity: var(--md-filter-chip-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-filter-chip-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-label-text-color: var(--md-filter-chip-pressed-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-state-layer-color: var(--md-filter-chip-pressed-state-layer-color, var(--md-sys-color-on-secondary-container, #1d192b));--_pressed-state-layer-opacity: var(--md-filter-chip-pressed-state-layer-opacity, 0.12);--_icon-size: var(--md-filter-chip-icon-size, 18px);--_disabled-leading-icon-color: var(--md-filter-chip-disabled-leading-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-leading-icon-opacity: var(--md-filter-chip-disabled-leading-icon-opacity, 0.38);--_selected-focus-leading-icon-color: var(--md-filter-chip-selected-focus-leading-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-leading-icon-color: var(--md-filter-chip-selected-hover-leading-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-leading-icon-color: var(--md-filter-chip-selected-leading-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-leading-icon-color: var(--md-filter-chip-selected-pressed-leading-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_focus-leading-icon-color: var(--md-filter-chip-focus-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_hover-leading-icon-color: var(--md-filter-chip-hover-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_leading-icon-color: var(--md-filter-chip-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_pressed-leading-icon-color: var(--md-filter-chip-pressed-leading-icon-color, var(--md-sys-color-primary, #6750a4));--_disabled-trailing-icon-color: var(--md-filter-chip-disabled-trailing-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-trailing-icon-opacity: var(--md-filter-chip-disabled-trailing-icon-opacity, 0.38);--_selected-focus-trailing-icon-color: var(--md-filter-chip-selected-focus-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-hover-trailing-icon-color: var(--md-filter-chip-selected-hover-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-pressed-trailing-icon-color: var(--md-filter-chip-selected-pressed-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_selected-trailing-icon-color: var(--md-filter-chip-selected-trailing-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_focus-trailing-icon-color: var(--md-filter-chip-focus-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-trailing-icon-color: var(--md-filter-chip-hover-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_pressed-trailing-icon-color: var(--md-filter-chip-pressed-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_trailing-icon-color: var(--md-filter-chip-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_container-shape-start-start: var(--md-filter-chip-container-shape-start-start, var(--md-filter-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_container-shape-start-end: var(--md-filter-chip-container-shape-start-end, var(--md-filter-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_container-shape-end-end: var(--md-filter-chip-container-shape-end-end, var(--md-filter-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_container-shape-end-start: var(--md-filter-chip-container-shape-end-start, var(--md-filter-chip-container-shape, var(--md-sys-shape-corner-small, 8px)));--_leading-space: var(--md-filter-chip-leading-space, 16px);--_trailing-space: var(--md-filter-chip-trailing-space, 16px);--_icon-label-space: var(--md-filter-chip-icon-label-space, 8px);--_with-leading-icon-leading-space: var(--md-filter-chip-with-leading-icon-leading-space, 8px);--_with-trailing-icon-trailing-space: var(--md-filter-chip-with-trailing-icon-trailing-space, 8px)}.selected.elevated::before{background:var(--_elevated-selected-container-color)}.checkmark{height:var(--_icon-size);width:var(--_icon-size)}.disabled .checkmark{opacity:var(--_disabled-leading-icon-opacity)}@media(forced-colors: active){.disabled .checkmark{opacity:1}}\n`;\n//# sourceMappingURL=filter-styles.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/selectable-styles.css.\nimport { css } from 'lit';\nexport const styles = css `.selected{--md-ripple-hover-color: var(--_selected-hover-state-layer-color);--md-ripple-hover-opacity: var(--_selected-hover-state-layer-opacity);--md-ripple-pressed-color: var(--_selected-pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_selected-pressed-state-layer-opacity)}:where(.selected)::before{background:var(--_selected-container-color)}:where(.selected) .outline{border-width:var(--_selected-outline-width)}:where(.selected.disabled)::before{background:var(--_disabled-selected-container-color);opacity:var(--_disabled-selected-container-opacity)}:where(.selected) .label{color:var(--_selected-label-text-color)}:where(.selected:hover) .label{color:var(--_selected-hover-label-text-color)}:where(.selected:focus) .label{color:var(--_selected-focus-label-text-color)}:where(.selected:active) .label{color:var(--_selected-pressed-label-text-color)}:where(.selected) .leading.icon{color:var(--_selected-leading-icon-color)}:where(.selected:hover) .leading.icon{color:var(--_selected-hover-leading-icon-color)}:where(.selected:focus) .leading.icon{color:var(--_selected-focus-leading-icon-color)}:where(.selected:active) .leading.icon{color:var(--_selected-pressed-leading-icon-color)}@media(forced-colors: active){:where(.selected:not(.elevated))::before{border:1px solid CanvasText}:where(.selected) .outline{border-width:1px}}\n`;\n//# sourceMappingURL=selectable-styles.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/shared-styles.css.\nimport { css } from 'lit';\nexport const styles = css `:host{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end);display:inline-flex;height:var(--_container-height);cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}:host(:is([disabled],[soft-disabled])){pointer-events:none}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--_container-height))/2) 0}md-focus-ring{--md-focus-ring-shape-start-start: var(--_container-shape-start-start);--md-focus-ring-shape-start-end: var(--_container-shape-start-end);--md-focus-ring-shape-end-end: var(--_container-shape-end-end);--md-focus-ring-shape-end-start: var(--_container-shape-end-start)}.container{border-radius:inherit;box-sizing:border-box;display:flex;height:100%;position:relative;width:100%}.container::before{border-radius:inherit;content:\"\";inset:0;pointer-events:none;position:absolute}.container:not(.disabled){cursor:pointer}.container.disabled{pointer-events:none}.cell{display:flex}.action{align-items:baseline;appearance:none;background:none;border:none;border-radius:inherit;display:flex;outline:none;padding:0;position:relative;text-decoration:none}.primary.action{min-width:0;padding-inline-start:var(--_leading-space);padding-inline-end:var(--_trailing-space)}.has-icon .primary.action{padding-inline-start:var(--_with-leading-icon-leading-space)}.touch{height:48px;inset:50% 0 0;position:absolute;transform:translateY(-50%);width:100%}:host([touch-target=none]) .touch{display:none}.outline{border:var(--_outline-width) solid var(--_outline-color);border-radius:inherit;inset:0;pointer-events:none;position:absolute}:where(:focus) .outline{border-color:var(--_focus-outline-color)}:where(.disabled) .outline{border-color:var(--_disabled-outline-color);opacity:var(--_disabled-outline-opacity)}md-ripple{border-radius:inherit}.label,.icon,.touch{z-index:1}.label{align-items:center;color:var(--_label-text-color);display:flex;font-family:var(--_label-text-font);font-size:var(--_label-text-size);font-weight:var(--_label-text-weight);height:100%;line-height:var(--_label-text-line-height);overflow:hidden;user-select:none}.label-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(:hover) .label{color:var(--_hover-label-text-color)}:where(:focus) .label{color:var(--_focus-label-text-color)}:where(:active) .label{color:var(--_pressed-label-text-color)}:where(.disabled) .label{color:var(--_disabled-label-text-color);opacity:var(--_disabled-label-text-opacity)}.icon{align-self:center;display:flex;fill:currentColor;position:relative}.icon ::slotted(:first-child){font-size:var(--_icon-size);height:var(--_icon-size);width:var(--_icon-size)}.leading.icon{color:var(--_leading-icon-color)}.leading.icon ::slotted(*),.leading.icon svg{margin-inline-end:var(--_icon-label-space)}:where(:hover) .leading.icon{color:var(--_hover-leading-icon-color)}:where(:focus) .leading.icon{color:var(--_focus-leading-icon-color)}:where(:active) .leading.icon{color:var(--_pressed-leading-icon-color)}:where(.disabled) .leading.icon{color:var(--_disabled-leading-icon-color);opacity:var(--_disabled-leading-icon-opacity)}@media(forced-colors: active){:where(.disabled) :is(.label,.outline,.leading.icon){color:GrayText;opacity:1}}a,button{text-transform:inherit}a,button:not(:disabled,[aria-disabled=true]){cursor:inherit}\n`;\n//# sourceMappingURL=shared-styles.js.map","/**\n * @license\n * Copyright 2024 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./chips/internal/trailing-icon-styles.css.\nimport { css } from 'lit';\nexport const styles = css `.trailing.action{align-items:center;justify-content:center;padding-inline-start:var(--_icon-label-space);padding-inline-end:var(--_with-trailing-icon-trailing-space)}.trailing.action :is(md-ripple,md-focus-ring){border-radius:50%;height:calc(1.3333333333*var(--_icon-size));width:calc(1.3333333333*var(--_icon-size))}.trailing.action md-focus-ring{inset:unset}.has-trailing .primary.action{padding-inline-end:0}.trailing.icon{color:var(--_trailing-icon-color);height:var(--_icon-size);width:var(--_icon-size)}:where(:hover) .trailing.icon{color:var(--_hover-trailing-icon-color)}:where(:focus) .trailing.icon{color:var(--_focus-trailing-icon-color)}:where(:active) .trailing.icon{color:var(--_pressed-trailing-icon-color)}:where(.disabled) .trailing.icon{color:var(--_disabled-trailing-icon-color);opacity:var(--_disabled-trailing-icon-opacity)}:where(.selected) .trailing.icon{color:var(--_selected-trailing-icon-color)}:where(.selected:hover) .trailing.icon{color:var(--_selected-hover-trailing-icon-color)}:where(.selected:focus) .trailing.icon{color:var(--_selected-focus-trailing-icon-color)}:where(.selected:active) .trailing.icon{color:var(--_selected-pressed-trailing-icon-color)}@media(forced-colors: active){.trailing.icon{color:ButtonText}:where(.disabled) .trailing.icon{color:GrayText;opacity:1}}\n`;\n//# sourceMappingURL=trailing-icon-styles.js.map","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { __decorate } from \"tslib\";\nimport { customElement } from 'lit/decorators.js';\nimport { styles as elevatedStyles } from './internal/elevated-styles.js';\nimport { FilterChip } from './internal/filter-chip.js';\nimport { styles } from './internal/filter-styles.js';\nimport { styles as selectableStyles } from './internal/selectable-styles.js';\nimport { styles as sharedStyles } from './internal/shared-styles.js';\nimport { styles as trailingIconStyles } from './internal/trailing-icon-styles.js';\n/**\n * TODO(b/243982145): add docs\n *\n * @final\n * @suppress {visibility}\n */\nexport let MdFilterChip = class MdFilterChip extends FilterChip {\n};\nMdFilterChip.styles = [\n sharedStyles,\n elevatedStyles,\n trailingIconStyles,\n selectableStyles,\n styles,\n];\nMdFilterChip = __decorate([\n customElement('md-filter-chip')\n], MdFilterChip);\n//# sourceMappingURL=filter-chip.js.map","import '@material/web/chips/chip-set.js'\nimport '@material/web/chips/filter-chip.js'\nimport { ChipSet } from '@material/web/chips/internal/chip-set'\nimport { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\n\n@customElement('schmancy-chip')\nexport default class SchmancyChip extends $LitElement() {\n\t@query('md-chip-set') chipSet!: ChipSet\n\t@property({\n\t\ttype: String,\n\t\treflect: true,\n\t})\n\tlabel: string = ''\n\n\t@property({\n\t\ttype: String,\n\t\treflect: true,\n\t})\n\tvalue: string = ''\n\n\t@property({\n\t\ttype: Boolean,\n\t\treflect: true,\n\t})\n\tselected: boolean = false\n\n\t@property({\n\t\ttype: String,\n\t\treflect: true,\n\t})\n\ticon: string = ''\n\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<md-filter-chip\n\t\t\t\tid=\"done\"\n\t\t\t\tlabel=\"${this.label}\"\n\t\t\t\t@click=${() => {\n\t\t\t\t\tthis.selected = !this.selected\n\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent<SchmancyChipChangeEvent>('change', {\n\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\tvalue: this.value,\n\t\t\t\t\t\t\t\tselected: this.selected,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t}}\n\t\t\t\t?selected=${this.selected}\n\t\t\t>\n\t\t\t\t${this.icon}\n\t\t\t</md-filter-chip>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-chip': SchmancyChip\n\t}\n}\nexport type SchmancyChipChangeEvent = { value: string; selected: boolean }\n","import '@material/web/chips/chip-set.js'\nimport '@material/web/chips/filter-chip.js'\nimport { ChipSet } from '@material/web/chips/internal/chip-set'\nimport { $LitElement } from '@mixins/index'\nimport { html, PropertyValues } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport SchmancyChip, { SchmancyChipChangeEvent } from './chip'\n\n@customElement('schmancy-chips')\nexport default class SchmancyChips extends $LitElement() {\n\t@query('md-chip-set') chipSet!: ChipSet\n\n\t@property({\n\t\ttype: Boolean,\n\t\treflect: true,\n\t})\n\tmulti = false\n\n\t@property({\n\t\ttype: Array,\n\t\treflect: true,\n\t})\n\tvalues: string[] = []\n\n\t@property({\n\t\ttype: String,\n\t\treflect: true,\n\t})\n\tvalue: string = ''\n\n\t@queryAssignedElements({\n\t\tselector: 'schmancy-chip',\n\t\tflatten: true,\n\t})\n\tchips!: SchmancyChip[]\n\n\tasync change(e: CustomEvent<SchmancyChipChangeEvent>) {\n\t\te.preventDefault()\n\t\te.stopPropagation()\n\t\tconst { value, selected } = e.detail\n\t\tif (this.multi) {\n\t\t\tif (selected) {\n\t\t\t\tthis.values = [...this.values, value]\n\t\t\t\t// find the chip that was selected\n\t\t\t\tconst chip = this.chips.find(c => c.value === value)\n\t\t\t\t// if it exists, select it\n\t\t\t\tif (chip) chip.selected = true\n\t\t\t} else {\n\t\t\t\tthis.values = this.values.filter(v => v !== value)\n\t\t\t\t// find the chip that was deselected\n\t\t\t\tconst chip = this.chips.find(c => c.value === value)\n\t\t\t\t// if it exists, deselect it\n\t\t\t\tif (chip) chip.selected = false\n\t\t\t}\n\t\t\tthis.requestUpdate()\n\t\t} else {\n\t\t\tconst { value, selected } = e.detail\n\t\t\tthis.value = selected ? value : ''\n\t\t\tconst chip = this.chips.find(c => c.value === value)\n\t\t\tif (selected) chip.selected = selected\n\t\t\telse chip.selected = false\n\t\t\t// deselect all other chips\n\t\t\tthis.chips.forEach(c => {\n\t\t\t\tif (this.value && this.value === c.value) c.selected = true\n\t\t\t\telse c.selected = false\n\t\t\t})\n\t\t\tthis.requestUpdate()\n\t\t}\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyChipsChangeEvent>('change', {\n\t\t\t\tdetail: this.multi ? this.values : this.value,\n\t\t\t\tbubbles: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprotected firstUpdated(_changedProperties: PropertyValues): void {\n\t\tsuper.firstUpdated(_changedProperties)\n\t\tthis.hydrateTabs()\n\t}\n\n\t// when value changes, update the selected chip\n\t// protected updated(_changedProperties: PropertyValues): void {\n\t// \tsuper.updated(_changedProperties)\n\t// \tif (_changedProperties.has('value')) {\n\t// \t\tthis.chips.forEach(chip => {\n\t// \t\t\tchip.selected = chip.value === this.value\n\t// \t\t\tif (chip.selected) chip.setAttribute('selected', '')\n\t// \t\t\telse chip.removeAttribute('selected')\n\t// \t\t})\n\t// \t}\n\t// }\n\n\t// attribute changes\n\t// when values change, update the selected chips\n\tattributeChangedCallback(name: string, old: string, value: string): void {\n\t\tsuper.attributeChangedCallback(name, old, value)\n\t\tif (name === 'values') {\n\t\t\tthis.hydrateTabs()\n\t\t} else if (name === 'value') {\n\t\t\tthis.hydrateTabs()\n\t\t}\n\t}\n\n\thydrateTabs() {\n\t\tthis.chips.forEach(chip => {\n\t\t\tif (this.multi) {\n\t\t\t\tif (this.values.includes(chip.value)) chip.selected = true\n\t\t\t\telse chip.selected = false\n\t\t\t} else {\n\t\t\t\tif (this.value === chip.value) chip.selected = true\n\t\t\t\telse chip.selected = false\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected render(): unknown {\n\t\treturn html` <md-chip-set @change=${this.change}>\n\t\t\t<slot @slotchange=${() => this.hydrateTabs()}></slot>\n\t\t</md-chip-set>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-chips': SchmancyChips\n\t}\n}\nexport type SchmancyChipsChangeEvent = string | Array<string>\n"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","ATTACHABLE_CONTROLLER","Symbol","FOR_ATTRIBUTE_OBSERVER","isServer","MutationObserver","records","record","hostConnected","AttachableController","this","host","getAttribute","htmlFor","removeAttribute","setAttribute","hasAttribute","isConnected","getRootNode","querySelector","currentControl","parentElement","control","attach","detach","onControlChange","addController","observe","attributeFilter","setCurrentControl","EVENTS","FocusRing","LitElement","super","visible","inward","attachableController","bind","connectedCallback","event","HANDLED_BY_FOCUS_RING","type","matches","prev","next","removeEventListener","addEventListener","changed","has","dispatchEvent","Event","update","property","Boolean","reflect","prototype","undefined","styles","css","MdFocusRing","customElement","EASING","State","FORCED_COLORS","window","matchMedia","Ripple","disabled","hovered","pressed","rippleSize","rippleScale","initialSize","state","INACTIVE","checkBoundsAfterContextMenu","render","classes","html","classMap","changedProps","shouldReactToEvent","endPressAnimation","HOLDING","TOUCH_DELAY","WAITING_FOR_CLICK","startPressAnimation","rippleStartEvent","isTouch","inBounds","Promise","resolve","setTimeout","handleClick","handleContextmenu","determineRippleSize","height","width","getBoundingClientRect","maxDim","Math","max","softEdgeSize","floor","maxRadius","sqrt","pointerEvent","scrollX","scrollY","left","top","documentX","documentY","pageX","pageY","x","y","positionEvent","endPoint","startPoint","PointerEvent","getNormalizedPointerEventCoords","mdRoot","growAnimation","cancel","getTranslationCoordinates","translateStart","translateEnd","animate","transform","pseudoElement","duration","easing","fill","animation","pressAnimationPlayState","Infinity","currentTime","to","value","isPrimary","pointerId","isPrimaryButton","buttons","bottom","right","pointerType","handleEvent","handlePointercancel","handlePointerdown","handlePointerenter","handlePointerleave","handlePointerup","query","MdRipple","ARIA_PROPERTIES","ARIA_ATTRIBUTES","map","ariaPropertyToAttribute","isAriaAttribute","attribute","includes","replace","toLowerCase","privateIgnoreAttributeChangesFor","ariaAttributeToDataAttribute","ariaAttribute","ariaAttributeToDataProperty","dashLetter","toUpperCase","chipBaseClass","base","_a","WithDelegatesAriaElement","Set","name","oldValue","newValue","attributeChangedCallback","add","delete","dataProperty","dataset","requestUpdate","ctor","ariaProperty","dataAttribute","createProperty","noAccessor","configurable","enumerable","get","prevValue","Chip","softDisabled","alwaysFocusable","label","hasIcon","options","focus","getContainerClasses","renderContainerContent","bubbles","renderOutline","primaryId","rippleDisabled","renderPrimaryAction","renderPrimaryContent","renderLeadingIcon","handleIconChange","slot","assignedElements","flatten","stopImmediatePropagation","preventDefault","shadowRootOptions","delegatesFocus","ChipSet","childElements","filter","child","internals","attachInternals","updateTabIndices","handleKeyDown","role","isLeft","isRight","isHome","isEnd","chips","trailing","forwards","getComputedStyle","direction","focusedChip","find","chip","currentIndex","indexOf","nextIndex","nextChip","chipToFocus","isChipFocusable","tabIndex","queryAssignedElements","MdChipSet","Elevation","MdElevation","ARIA_LABEL_REMOVE","MultiActionChip","ariaLabel","ariaLabelRemove","constructor","handleTrailingActionFocus","trailingAction","renderTrailingAction","primaryAction","isPrimaryFocused","isTrailingFocused","stopPropagation","once","renderRemoveButton","focusListener","tabbable","nothing","handleRemoveClick","cancelable","remove","FilterChip","elevated","removable","selected","hasSelectedIcon","content","handleClickOnChild","element","shadowRoot","composed","copy","construct","dispatched","MdFilterChip","sharedStyles","elevatedStyles","trailingIconStyles","selectableStyles","SchmancyChip","$LitElement","icon","CustomEvent","detail","__decorateClass","String","SchmancyChips","multi","values","e","v","forEach","_changedProperties","firstUpdated","hydrateTabs","old","change","Array","selector"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}
|