@limetech/lime-elements 37.2.4 → 37.2.5

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.
@@ -1 +1 @@
1
- {"file":"limel-chip-set.entry.cjs.js","mappings":"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","names":["strings","__extends","__assign","normalizeKey","isNavigationEvent","KEY","MDCFoundation","MDCRipple","MDCRippleFoundation","MDCComponent","cssClasses","trailingActionStrings","chipStrings","__values","ARROW_LEFT","ARROW_LEFT_KEY_CODE","ARROW_RIGHT","ARROW_RIGHT_KEY_CODE","ENTER","ENTER_KEY_CODE","DELETE","DELETE_KEY_CODE","BACKSPACE","BACKSPACE_KEY_CODE","ESCAPE","ESCAPE_KEY_CODE","h","translate","MDCTextField","isEqual","getHref","getTarget","index","getIconName","getIconColor","getIconBackgroundColor","getIconTitle"],"sources":["./node_modules/@material/chips/deprecated/trailingaction/constants.js","./node_modules/@material/chips/deprecated/trailingaction/foundation.js","./node_modules/@material/chips/deprecated/trailingaction/component.js","./node_modules/@material/chips/deprecated/chip/constants.js","./node_modules/@material/chips/deprecated/chip/foundation.js","./node_modules/@material/chips/deprecated/chip/component.js","./node_modules/@material/dom/announce.js","./node_modules/@material/chips/deprecated/chip-set/constants.js","./node_modules/@material/chips/deprecated/chip-set/foundation.js","./node_modules/@material/chips/deprecated/chip-set/component.js","./src/components/chip-set/chip-set-input-helpers.ts","./src/components/chip-set/chip-set.scss?tag=limel-chip-set&encapsulation=shadow","./src/components/chip-set/chip-set.tsx"],"sourcesContent":["/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nexport var InteractionTrigger;\n(function (InteractionTrigger) {\n InteractionTrigger[InteractionTrigger[\"UNSPECIFIED\"] = 0] = \"UNSPECIFIED\";\n InteractionTrigger[InteractionTrigger[\"CLICK\"] = 1] = \"CLICK\";\n InteractionTrigger[InteractionTrigger[\"BACKSPACE_KEY\"] = 2] = \"BACKSPACE_KEY\";\n InteractionTrigger[InteractionTrigger[\"DELETE_KEY\"] = 3] = \"DELETE_KEY\";\n InteractionTrigger[InteractionTrigger[\"SPACEBAR_KEY\"] = 4] = \"SPACEBAR_KEY\";\n InteractionTrigger[InteractionTrigger[\"ENTER_KEY\"] = 5] = \"ENTER_KEY\";\n})(InteractionTrigger || (InteractionTrigger = {}));\nexport var strings = {\n ARIA_HIDDEN: 'aria-hidden',\n INTERACTION_EVENT: 'MDCChipTrailingAction:interaction',\n NAVIGATION_EVENT: 'MDCChipTrailingAction:navigation',\n TAB_INDEX: 'tabindex',\n};\n//# sourceMappingURL=constants.js.map","/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __assign, __extends } from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { isNavigationEvent, KEY, normalizeKey } from '@material/dom/keyboard';\nimport { InteractionTrigger, strings } from './constants';\nvar MDCChipTrailingActionFoundation = /** @class */ (function (_super) {\n __extends(MDCChipTrailingActionFoundation, _super);\n function MDCChipTrailingActionFoundation(adapter) {\n return _super.call(this, __assign(__assign({}, MDCChipTrailingActionFoundation.defaultAdapter), adapter)) || this;\n }\n Object.defineProperty(MDCChipTrailingActionFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChipTrailingActionFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n focus: function () { return undefined; },\n getAttribute: function () { return null; },\n setAttribute: function () { return undefined; },\n notifyInteraction: function () { return undefined; },\n notifyNavigation: function () { return undefined; },\n };\n },\n enumerable: false,\n configurable: true\n });\n MDCChipTrailingActionFoundation.prototype.handleClick = function (evt) {\n evt.stopPropagation();\n this.adapter.notifyInteraction(InteractionTrigger.CLICK);\n };\n MDCChipTrailingActionFoundation.prototype.handleKeydown = function (evt) {\n evt.stopPropagation();\n var key = normalizeKey(evt);\n if (this.shouldNotifyInteractionFromKey(key)) {\n var trigger = this.getTriggerFromKey(key);\n this.adapter.notifyInteraction(trigger);\n return;\n }\n if (isNavigationEvent(evt)) {\n this.adapter.notifyNavigation(key);\n return;\n }\n };\n MDCChipTrailingActionFoundation.prototype.removeFocus = function () {\n this.adapter.setAttribute(strings.TAB_INDEX, '-1');\n };\n MDCChipTrailingActionFoundation.prototype.focus = function () {\n this.adapter.setAttribute(strings.TAB_INDEX, '0');\n this.adapter.focus();\n };\n MDCChipTrailingActionFoundation.prototype.isNavigable = function () {\n return this.adapter.getAttribute(strings.ARIA_HIDDEN) !== 'true';\n };\n MDCChipTrailingActionFoundation.prototype.shouldNotifyInteractionFromKey = function (key) {\n var isFromActionKey = key === KEY.ENTER || key === KEY.SPACEBAR;\n var isFromDeleteKey = key === KEY.BACKSPACE || key === KEY.DELETE;\n return isFromActionKey || isFromDeleteKey;\n };\n MDCChipTrailingActionFoundation.prototype.getTriggerFromKey = function (key) {\n if (key === KEY.SPACEBAR) {\n return InteractionTrigger.SPACEBAR_KEY;\n }\n if (key === KEY.ENTER) {\n return InteractionTrigger.ENTER_KEY;\n }\n if (key === KEY.DELETE) {\n return InteractionTrigger.DELETE_KEY;\n }\n if (key === KEY.BACKSPACE) {\n return InteractionTrigger.BACKSPACE_KEY;\n }\n // Default case, should never be returned\n return InteractionTrigger.UNSPECIFIED;\n };\n return MDCChipTrailingActionFoundation;\n}(MDCFoundation));\nexport { MDCChipTrailingActionFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCChipTrailingActionFoundation;\n//# sourceMappingURL=foundation.js.map","/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __extends } from \"tslib\";\nimport { MDCComponent } from '@material/base/component';\nimport { MDCRipple } from '@material/ripple/component';\nimport { MDCRippleFoundation } from '@material/ripple/foundation';\nimport { strings } from './constants';\nimport { MDCChipTrailingActionFoundation } from './foundation';\nvar MDCChipTrailingAction = /** @class */ (function (_super) {\n __extends(MDCChipTrailingAction, _super);\n function MDCChipTrailingAction() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(MDCChipTrailingAction.prototype, \"ripple\", {\n get: function () {\n return this.rippleSurface;\n },\n enumerable: false,\n configurable: true\n });\n MDCChipTrailingAction.attachTo = function (root) {\n return new MDCChipTrailingAction(root);\n };\n MDCChipTrailingAction.prototype.initialize = function (rippleFactory) {\n if (rippleFactory === void 0) { rippleFactory = function (el, foundation) {\n return new MDCRipple(el, foundation);\n }; }\n // DO NOT INLINE this variable. For backward compatibility, foundations take\n // a Partial<MDCFooAdapter>. To ensure we don't accidentally omit any\n // methods, we need a separate, strongly typed adapter variable.\n var rippleAdapter = MDCRipple.createAdapter(this);\n this.rippleSurface =\n rippleFactory(this.root, new MDCRippleFoundation(rippleAdapter));\n };\n MDCChipTrailingAction.prototype.initialSyncWithDOM = function () {\n var _this = this;\n this.handleClick = function (evt) {\n _this.foundation.handleClick(evt);\n };\n this.handleKeydown = function (evt) {\n _this.foundation.handleKeydown(evt);\n };\n this.listen('click', this.handleClick);\n this.listen('keydown', this.handleKeydown);\n };\n MDCChipTrailingAction.prototype.destroy = function () {\n this.rippleSurface.destroy();\n this.unlisten('click', this.handleClick);\n this.unlisten('keydown', this.handleKeydown);\n _super.prototype.destroy.call(this);\n };\n MDCChipTrailingAction.prototype.getDefaultFoundation = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take\n // a Partial<MDCFooAdapter>. To ensure we don't accidentally omit any\n // methods, we need a separate, strongly typed adapter variable.\n var adapter = {\n focus: function () {\n // TODO(b/157231863): Migate MDCComponent#root to HTMLElement\n _this.root.focus();\n },\n getAttribute: function (attr) { return _this.root.getAttribute(attr); },\n notifyInteraction: function (trigger) {\n return _this.emit(strings.INTERACTION_EVENT, { trigger: trigger }, true /* shouldBubble */);\n },\n notifyNavigation: function (key) {\n _this.emit(strings.NAVIGATION_EVENT, { key: key }, true /* shouldBubble */);\n },\n setAttribute: function (attr, value) {\n _this.root.setAttribute(attr, value);\n },\n };\n return new MDCChipTrailingActionFoundation(adapter);\n };\n MDCChipTrailingAction.prototype.isNavigable = function () {\n return this.foundation.isNavigable();\n };\n MDCChipTrailingAction.prototype.focus = function () {\n this.foundation.focus();\n };\n MDCChipTrailingAction.prototype.removeFocus = function () {\n this.foundation.removeFocus();\n };\n return MDCChipTrailingAction;\n}(MDCComponent));\nexport { MDCChipTrailingAction };\n//# sourceMappingURL=component.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nexport var Direction;\n(function (Direction) {\n Direction[\"LEFT\"] = \"left\";\n Direction[\"RIGHT\"] = \"right\";\n})(Direction || (Direction = {}));\nexport var EventSource;\n(function (EventSource) {\n EventSource[\"PRIMARY\"] = \"primary\";\n EventSource[\"TRAILING\"] = \"trailing\";\n EventSource[\"NONE\"] = \"none\";\n})(EventSource || (EventSource = {}));\nexport var strings = {\n ADDED_ANNOUNCEMENT_ATTRIBUTE: 'data-mdc-chip-added-announcement',\n ARIA_CHECKED: 'aria-checked',\n ARROW_DOWN_KEY: 'ArrowDown',\n ARROW_LEFT_KEY: 'ArrowLeft',\n ARROW_RIGHT_KEY: 'ArrowRight',\n ARROW_UP_KEY: 'ArrowUp',\n BACKSPACE_KEY: 'Backspace',\n CHECKMARK_SELECTOR: '.mdc-chip__checkmark',\n DELETE_KEY: 'Delete',\n END_KEY: 'End',\n ENTER_KEY: 'Enter',\n ENTRY_ANIMATION_NAME: 'mdc-chip-entry',\n HOME_KEY: 'Home',\n IE_ARROW_DOWN_KEY: 'Down',\n IE_ARROW_LEFT_KEY: 'Left',\n IE_ARROW_RIGHT_KEY: 'Right',\n IE_ARROW_UP_KEY: 'Up',\n IE_DELETE_KEY: 'Del',\n INTERACTION_EVENT: 'MDCChip:interaction',\n LEADING_ICON_SELECTOR: '.mdc-chip__icon--leading',\n NAVIGATION_EVENT: 'MDCChip:navigation',\n PRIMARY_ACTION_SELECTOR: '.mdc-chip__primary-action',\n REMOVED_ANNOUNCEMENT_ATTRIBUTE: 'data-mdc-chip-removed-announcement',\n REMOVAL_EVENT: 'MDCChip:removal',\n SELECTION_EVENT: 'MDCChip:selection',\n SPACEBAR_KEY: ' ',\n TAB_INDEX: 'tabindex',\n TRAILING_ACTION_SELECTOR: '.mdc-chip-trailing-action',\n TRAILING_ICON_INTERACTION_EVENT: 'MDCChip:trailingIconInteraction',\n TRAILING_ICON_SELECTOR: '.mdc-chip__icon--trailing',\n};\nexport var cssClasses = {\n CHECKMARK: 'mdc-chip__checkmark',\n CHIP_EXIT: 'mdc-chip--exit',\n DELETABLE: 'mdc-chip--deletable',\n EDITABLE: 'mdc-chip--editable',\n EDITING: 'mdc-chip--editing',\n HIDDEN_LEADING_ICON: 'mdc-chip__icon--leading-hidden',\n LEADING_ICON: 'mdc-chip__icon--leading',\n PRIMARY_ACTION: 'mdc-chip__primary-action',\n PRIMARY_ACTION_FOCUSED: 'mdc-chip--primary-action-focused',\n SELECTED: 'mdc-chip--selected',\n TEXT: 'mdc-chip__text',\n TRAILING_ACTION: 'mdc-chip__trailing-action',\n TRAILING_ICON: 'mdc-chip__icon--trailing',\n};\nexport var navigationKeys = new Set();\n// IE11 has no support for new Set with iterable so we need to initialize this by hand\nnavigationKeys.add(strings.ARROW_LEFT_KEY);\nnavigationKeys.add(strings.ARROW_RIGHT_KEY);\nnavigationKeys.add(strings.ARROW_DOWN_KEY);\nnavigationKeys.add(strings.ARROW_UP_KEY);\nnavigationKeys.add(strings.END_KEY);\nnavigationKeys.add(strings.HOME_KEY);\nnavigationKeys.add(strings.IE_ARROW_LEFT_KEY);\nnavigationKeys.add(strings.IE_ARROW_RIGHT_KEY);\nnavigationKeys.add(strings.IE_ARROW_DOWN_KEY);\nnavigationKeys.add(strings.IE_ARROW_UP_KEY);\nexport var jumpChipKeys = new Set();\n// IE11 has no support for new Set with iterable so we need to initialize this by hand\njumpChipKeys.add(strings.ARROW_UP_KEY);\njumpChipKeys.add(strings.ARROW_DOWN_KEY);\njumpChipKeys.add(strings.HOME_KEY);\njumpChipKeys.add(strings.END_KEY);\njumpChipKeys.add(strings.IE_ARROW_UP_KEY);\njumpChipKeys.add(strings.IE_ARROW_DOWN_KEY);\n//# sourceMappingURL=constants.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __assign, __extends } from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { cssClasses, Direction, EventSource, jumpChipKeys, navigationKeys, strings } from './constants';\nvar emptyClientRect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n};\nvar FocusBehavior;\n(function (FocusBehavior) {\n FocusBehavior[FocusBehavior[\"SHOULD_FOCUS\"] = 0] = \"SHOULD_FOCUS\";\n FocusBehavior[FocusBehavior[\"SHOULD_NOT_FOCUS\"] = 1] = \"SHOULD_NOT_FOCUS\";\n})(FocusBehavior || (FocusBehavior = {}));\nvar MDCChipFoundation = /** @class */ (function (_super) {\n __extends(MDCChipFoundation, _super);\n function MDCChipFoundation(adapter) {\n var _this = _super.call(this, __assign(__assign({}, MDCChipFoundation.defaultAdapter), adapter)) || this;\n /** Whether a trailing icon click should immediately trigger exit/removal of the chip. */\n _this.shouldRemoveOnTrailingIconClick = true;\n /**\n * Whether the primary action should receive focus on click. Should only be\n * set to true for clients who programmatically give focus to a different\n * element on the page when a chip is clicked (like a menu).\n */\n _this.shouldFocusPrimaryActionOnClick = true;\n return _this;\n }\n Object.defineProperty(MDCChipFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChipFoundation, \"cssClasses\", {\n get: function () {\n return cssClasses;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChipFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n addClass: function () { return undefined; },\n addClassToLeadingIcon: function () { return undefined; },\n eventTargetHasClass: function () { return false; },\n focusPrimaryAction: function () { return undefined; },\n focusTrailingAction: function () { return undefined; },\n getAttribute: function () { return null; },\n getCheckmarkBoundingClientRect: function () { return emptyClientRect; },\n getComputedStyleValue: function () { return ''; },\n getRootBoundingClientRect: function () { return emptyClientRect; },\n hasClass: function () { return false; },\n hasLeadingIcon: function () { return false; },\n isRTL: function () { return false; },\n isTrailingActionNavigable: function () { return false; },\n notifyEditFinish: function () { return undefined; },\n notifyEditStart: function () { return undefined; },\n notifyInteraction: function () { return undefined; },\n notifyNavigation: function () { return undefined; },\n notifyRemoval: function () { return undefined; },\n notifySelection: function () { return undefined; },\n notifyTrailingIconInteraction: function () { return undefined; },\n removeClass: function () { return undefined; },\n removeClassFromLeadingIcon: function () { return undefined; },\n removeTrailingActionFocus: function () { return undefined; },\n setPrimaryActionAttr: function () { return undefined; },\n setStyleProperty: function () { return undefined; },\n };\n },\n enumerable: false,\n configurable: true\n });\n MDCChipFoundation.prototype.isSelected = function () {\n return this.adapter.hasClass(cssClasses.SELECTED);\n };\n MDCChipFoundation.prototype.isEditable = function () {\n return this.adapter.hasClass(cssClasses.EDITABLE);\n };\n MDCChipFoundation.prototype.isEditing = function () {\n return this.adapter.hasClass(cssClasses.EDITING);\n };\n MDCChipFoundation.prototype.setSelected = function (selected) {\n this.setSelectedImpl(selected);\n this.notifySelection(selected);\n };\n MDCChipFoundation.prototype.setSelectedFromChipSet = function (selected, shouldNotifyClients) {\n this.setSelectedImpl(selected);\n if (shouldNotifyClients) {\n this.notifyIgnoredSelection(selected);\n }\n };\n MDCChipFoundation.prototype.getShouldRemoveOnTrailingIconClick = function () {\n return this.shouldRemoveOnTrailingIconClick;\n };\n MDCChipFoundation.prototype.setShouldRemoveOnTrailingIconClick = function (shouldRemove) {\n this.shouldRemoveOnTrailingIconClick = shouldRemove;\n };\n MDCChipFoundation.prototype.setShouldFocusPrimaryActionOnClick = function (shouldFocus) {\n this.shouldFocusPrimaryActionOnClick = shouldFocus;\n };\n MDCChipFoundation.prototype.getDimensions = function () {\n var _this = this;\n var getRootRect = function () { return _this.adapter.getRootBoundingClientRect(); };\n var getCheckmarkRect = function () {\n return _this.adapter.getCheckmarkBoundingClientRect();\n };\n // When a chip has a checkmark and not a leading icon, the bounding rect changes in size depending on the current\n // size of the checkmark.\n if (!this.adapter.hasLeadingIcon()) {\n var checkmarkRect = getCheckmarkRect();\n if (checkmarkRect) {\n var rootRect = getRootRect();\n // Checkmark is a square, meaning the client rect's width and height are identical once the animation completes.\n // However, the checkbox is initially hidden by setting the width to 0.\n // To account for an initial width of 0, we use the checkbox's height instead (which equals the end-state width)\n // when adding it to the root client rect's width.\n return {\n bottom: rootRect.bottom,\n height: rootRect.height,\n left: rootRect.left,\n right: rootRect.right,\n top: rootRect.top,\n width: rootRect.width + checkmarkRect.height,\n };\n }\n }\n return getRootRect();\n };\n /**\n * Begins the exit animation which leads to removal of the chip.\n */\n MDCChipFoundation.prototype.beginExit = function () {\n this.adapter.addClass(cssClasses.CHIP_EXIT);\n };\n MDCChipFoundation.prototype.handleClick = function () {\n this.adapter.notifyInteraction();\n this.setPrimaryActionFocusable(this.getFocusBehavior());\n };\n MDCChipFoundation.prototype.handleDoubleClick = function () {\n if (this.isEditable()) {\n this.startEditing();\n }\n };\n /**\n * Handles a transition end event on the root element.\n */\n MDCChipFoundation.prototype.handleTransitionEnd = function (evt) {\n var _this = this;\n // Handle transition end event on the chip when it is about to be removed.\n var shouldHandle = this.adapter.eventTargetHasClass(evt.target, cssClasses.CHIP_EXIT);\n var widthIsAnimating = evt.propertyName === 'width';\n var opacityIsAnimating = evt.propertyName === 'opacity';\n if (shouldHandle && opacityIsAnimating) {\n // See: https://css-tricks.com/using-css-transitions-auto-dimensions/#article-header-id-5\n var chipWidth_1 = this.adapter.getComputedStyleValue('width');\n // On the next frame (once we get the computed width), explicitly set the chip's width\n // to its current pixel width, so we aren't transitioning out of 'auto'.\n requestAnimationFrame(function () {\n _this.adapter.setStyleProperty('width', chipWidth_1);\n // To mitigate jitter, start transitioning padding and margin before width.\n _this.adapter.setStyleProperty('padding', '0');\n _this.adapter.setStyleProperty('margin', '0');\n // On the next frame (once width is explicitly set), transition width to 0.\n requestAnimationFrame(function () {\n _this.adapter.setStyleProperty('width', '0');\n });\n });\n return;\n }\n if (shouldHandle && widthIsAnimating) {\n this.removeFocus();\n var removedAnnouncement = this.adapter.getAttribute(strings.REMOVED_ANNOUNCEMENT_ATTRIBUTE);\n this.adapter.notifyRemoval(removedAnnouncement);\n }\n // Handle a transition end event on the leading icon or checkmark, since the transition end event bubbles.\n if (!opacityIsAnimating) {\n return;\n }\n var shouldHideLeadingIcon = this.adapter.eventTargetHasClass(evt.target, cssClasses.LEADING_ICON) &&\n this.adapter.hasClass(cssClasses.SELECTED);\n var shouldShowLeadingIcon = this.adapter.eventTargetHasClass(evt.target, cssClasses.CHECKMARK) &&\n !this.adapter.hasClass(cssClasses.SELECTED);\n if (shouldHideLeadingIcon) {\n this.adapter.addClassToLeadingIcon(cssClasses.HIDDEN_LEADING_ICON);\n return;\n }\n if (shouldShowLeadingIcon) {\n this.adapter.removeClassFromLeadingIcon(cssClasses.HIDDEN_LEADING_ICON);\n return;\n }\n };\n MDCChipFoundation.prototype.handleFocusIn = function (evt) {\n // Early exit if the event doesn't come from the primary action\n if (!this.eventFromPrimaryAction(evt)) {\n return;\n }\n this.adapter.addClass(cssClasses.PRIMARY_ACTION_FOCUSED);\n };\n MDCChipFoundation.prototype.handleFocusOut = function (evt) {\n // Early exit if the event doesn't come from the primary action\n if (!this.eventFromPrimaryAction(evt)) {\n return;\n }\n if (this.isEditing()) {\n this.finishEditing();\n }\n this.adapter.removeClass(cssClasses.PRIMARY_ACTION_FOCUSED);\n };\n /**\n * Handles an interaction event on the trailing icon element. This is used to\n * prevent the ripple from activating on interaction with the trailing icon.\n */\n MDCChipFoundation.prototype.handleTrailingActionInteraction = function () {\n this.adapter.notifyTrailingIconInteraction();\n this.removeChip();\n };\n /**\n * Handles a keydown event from the root element.\n */\n MDCChipFoundation.prototype.handleKeydown = function (evt) {\n if (this.isEditing()) {\n if (this.shouldFinishEditing(evt)) {\n evt.preventDefault();\n this.finishEditing();\n }\n // When editing, the foundation should only handle key events that finish\n // the editing process.\n return;\n }\n if (this.isEditable()) {\n if (this.shouldStartEditing(evt)) {\n evt.preventDefault();\n this.startEditing();\n }\n }\n if (this.shouldNotifyInteraction(evt)) {\n this.adapter.notifyInteraction();\n this.setPrimaryActionFocusable(this.getFocusBehavior());\n return;\n }\n if (this.isDeleteAction(evt)) {\n evt.preventDefault();\n this.removeChip();\n return;\n }\n // Early exit if the key is not usable\n if (!navigationKeys.has(evt.key)) {\n return;\n }\n // Prevent default behavior for movement keys which could include scrolling\n evt.preventDefault();\n this.focusNextAction(evt.key, EventSource.PRIMARY);\n };\n MDCChipFoundation.prototype.handleTrailingActionNavigation = function (evt) {\n this.focusNextAction(evt.detail.key, EventSource.TRAILING);\n };\n /**\n * Called by the chip set to remove focus from the chip actions.\n */\n MDCChipFoundation.prototype.removeFocus = function () {\n this.adapter.setPrimaryActionAttr(strings.TAB_INDEX, '-1');\n this.adapter.removeTrailingActionFocus();\n };\n /**\n * Called by the chip set to focus the primary action.\n *\n */\n MDCChipFoundation.prototype.focusPrimaryAction = function () {\n this.setPrimaryActionFocusable(FocusBehavior.SHOULD_FOCUS);\n };\n /**\n * Called by the chip set to focus the trailing action (if present), otherwise\n * gives focus to the trailing action.\n */\n MDCChipFoundation.prototype.focusTrailingAction = function () {\n var trailingActionIsNavigable = this.adapter.isTrailingActionNavigable();\n if (trailingActionIsNavigable) {\n this.adapter.setPrimaryActionAttr(strings.TAB_INDEX, '-1');\n this.adapter.focusTrailingAction();\n return;\n }\n this.focusPrimaryAction();\n };\n MDCChipFoundation.prototype.setPrimaryActionFocusable = function (focusBehavior) {\n this.adapter.setPrimaryActionAttr(strings.TAB_INDEX, '0');\n if (focusBehavior === FocusBehavior.SHOULD_FOCUS) {\n this.adapter.focusPrimaryAction();\n }\n this.adapter.removeTrailingActionFocus();\n };\n MDCChipFoundation.prototype.getFocusBehavior = function () {\n if (this.shouldFocusPrimaryActionOnClick) {\n return FocusBehavior.SHOULD_FOCUS;\n }\n return FocusBehavior.SHOULD_NOT_FOCUS;\n };\n MDCChipFoundation.prototype.focusNextAction = function (key, source) {\n var isTrailingActionNavigable = this.adapter.isTrailingActionNavigable();\n var dir = this.getDirection(key);\n // Early exit if the key should jump chips\n if (jumpChipKeys.has(key) || !isTrailingActionNavigable) {\n this.adapter.notifyNavigation(key, source);\n return;\n }\n if (source === EventSource.PRIMARY && dir === Direction.RIGHT) {\n this.focusTrailingAction();\n return;\n }\n if (source === EventSource.TRAILING && dir === Direction.LEFT) {\n this.focusPrimaryAction();\n return;\n }\n this.adapter.notifyNavigation(key, EventSource.NONE);\n };\n MDCChipFoundation.prototype.getDirection = function (key) {\n var isRTL = this.adapter.isRTL();\n var isLeftKey = key === strings.ARROW_LEFT_KEY || key === strings.IE_ARROW_LEFT_KEY;\n var isRightKey = key === strings.ARROW_RIGHT_KEY || key === strings.IE_ARROW_RIGHT_KEY;\n if (!isRTL && isLeftKey || isRTL && isRightKey) {\n return Direction.LEFT;\n }\n return Direction.RIGHT;\n };\n MDCChipFoundation.prototype.removeChip = function () {\n if (this.shouldRemoveOnTrailingIconClick) {\n this.beginExit();\n }\n };\n MDCChipFoundation.prototype.shouldStartEditing = function (evt) {\n return this.eventFromPrimaryAction(evt) && evt.key === strings.ENTER_KEY;\n };\n MDCChipFoundation.prototype.shouldFinishEditing = function (evt) {\n return evt.key === strings.ENTER_KEY;\n };\n MDCChipFoundation.prototype.shouldNotifyInteraction = function (evt) {\n return evt.key === strings.ENTER_KEY || evt.key === strings.SPACEBAR_KEY;\n };\n MDCChipFoundation.prototype.isDeleteAction = function (evt) {\n var isDeletable = this.adapter.hasClass(cssClasses.DELETABLE);\n return isDeletable &&\n (evt.key === strings.BACKSPACE_KEY || evt.key === strings.DELETE_KEY ||\n evt.key === strings.IE_DELETE_KEY);\n };\n MDCChipFoundation.prototype.setSelectedImpl = function (selected) {\n if (selected) {\n this.adapter.addClass(cssClasses.SELECTED);\n this.adapter.setPrimaryActionAttr(strings.ARIA_CHECKED, 'true');\n }\n else {\n this.adapter.removeClass(cssClasses.SELECTED);\n this.adapter.setPrimaryActionAttr(strings.ARIA_CHECKED, 'false');\n }\n };\n MDCChipFoundation.prototype.notifySelection = function (selected) {\n this.adapter.notifySelection(selected, false);\n };\n MDCChipFoundation.prototype.notifyIgnoredSelection = function (selected) {\n this.adapter.notifySelection(selected, true);\n };\n MDCChipFoundation.prototype.eventFromPrimaryAction = function (evt) {\n return this.adapter.eventTargetHasClass(evt.target, cssClasses.PRIMARY_ACTION);\n };\n MDCChipFoundation.prototype.startEditing = function () {\n this.adapter.addClass(cssClasses.EDITING);\n this.adapter.notifyEditStart();\n };\n MDCChipFoundation.prototype.finishEditing = function () {\n this.adapter.removeClass(cssClasses.EDITING);\n this.adapter.notifyEditFinish();\n };\n return MDCChipFoundation;\n}(MDCFoundation));\nexport { MDCChipFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCChipFoundation;\n//# sourceMappingURL=foundation.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __assign, __extends } from \"tslib\";\nimport { MDCComponent } from '@material/base/component';\nimport { MDCRipple } from '@material/ripple/component';\nimport { MDCRippleFoundation } from '@material/ripple/foundation';\nimport { MDCChipTrailingAction } from '../trailingaction/component';\nimport { strings as trailingActionStrings } from '../trailingaction/constants';\nimport { strings } from './constants';\nimport { MDCChipFoundation } from './foundation';\nvar MDCChip = /** @class */ (function (_super) {\n __extends(MDCChip, _super);\n function MDCChip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(MDCChip.prototype, \"selected\", {\n /**\n * @return Whether the chip is selected.\n */\n get: function () {\n return this.foundation.isSelected();\n },\n /**\n * Sets selected state on the chip.\n */\n set: function (selected) {\n this.foundation.setSelected(selected);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChip.prototype, \"shouldRemoveOnTrailingIconClick\", {\n /**\n * @return Whether a trailing icon click should trigger exit/removal of the chip.\n */\n get: function () {\n return this.foundation.getShouldRemoveOnTrailingIconClick();\n },\n /**\n * Sets whether a trailing icon click should trigger exit/removal of the chip.\n */\n set: function (shouldRemove) {\n this.foundation.setShouldRemoveOnTrailingIconClick(shouldRemove);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChip.prototype, \"setShouldFocusPrimaryActionOnClick\", {\n /**\n * Sets whether a clicking on the chip should focus the primary action.\n */\n set: function (shouldFocus) {\n this.foundation.setShouldFocusPrimaryActionOnClick(shouldFocus);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChip.prototype, \"ripple\", {\n get: function () {\n return this.rippleSurface;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChip.prototype, \"id\", {\n get: function () {\n return this.root.id;\n },\n enumerable: false,\n configurable: true\n });\n MDCChip.attachTo = function (root) {\n return new MDCChip(root);\n };\n MDCChip.prototype.initialize = function (rippleFactory, trailingActionFactory) {\n var _this = this;\n if (rippleFactory === void 0) { rippleFactory = function (el, foundation) { return new MDCRipple(el, foundation); }; }\n if (trailingActionFactory === void 0) { trailingActionFactory = function (el) { return new MDCChipTrailingAction(el); }; }\n this.leadingIcon = this.root.querySelector(strings.LEADING_ICON_SELECTOR);\n this.checkmark = this.root.querySelector(strings.CHECKMARK_SELECTOR);\n this.primaryAction =\n this.root.querySelector(strings.PRIMARY_ACTION_SELECTOR);\n var trailingActionEl = this.root.querySelector(strings.TRAILING_ACTION_SELECTOR);\n if (trailingActionEl) {\n this.trailingAction = trailingActionFactory(trailingActionEl);\n }\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n var rippleAdapter = __assign(__assign({}, MDCRipple.createAdapter(this)), { computeBoundingRect: function () { return _this.foundation.getDimensions(); } });\n this.rippleSurface =\n rippleFactory(this.root, new MDCRippleFoundation(rippleAdapter));\n };\n MDCChip.prototype.initialSyncWithDOM = function () {\n var _this = this;\n // Custom events\n this.handleTrailingActionInteraction = function () {\n _this.foundation.handleTrailingActionInteraction();\n };\n this.handleTrailingActionNavigation =\n function (evt) {\n _this.foundation.handleTrailingActionNavigation(evt);\n };\n // Native events\n this.handleClick = function () {\n _this.foundation.handleClick();\n };\n this.handleKeydown = function (evt) {\n _this.foundation.handleKeydown(evt);\n };\n this.handleTransitionEnd = function (evt) {\n _this.foundation.handleTransitionEnd(evt);\n };\n this.handleFocusIn = function (evt) {\n _this.foundation.handleFocusIn(evt);\n };\n this.handleFocusOut = function (evt) {\n _this.foundation.handleFocusOut(evt);\n };\n this.listen('transitionend', this.handleTransitionEnd);\n this.listen('click', this.handleClick);\n this.listen('keydown', this.handleKeydown);\n this.listen('focusin', this.handleFocusIn);\n this.listen('focusout', this.handleFocusOut);\n if (this.trailingAction) {\n this.listen(trailingActionStrings.INTERACTION_EVENT, this.handleTrailingActionInteraction);\n this.listen(trailingActionStrings.NAVIGATION_EVENT, this.handleTrailingActionNavigation);\n }\n };\n MDCChip.prototype.destroy = function () {\n this.rippleSurface.destroy();\n this.unlisten('transitionend', this.handleTransitionEnd);\n this.unlisten('keydown', this.handleKeydown);\n this.unlisten('click', this.handleClick);\n this.unlisten('focusin', this.handleFocusIn);\n this.unlisten('focusout', this.handleFocusOut);\n if (this.trailingAction) {\n this.unlisten(trailingActionStrings.INTERACTION_EVENT, this.handleTrailingActionInteraction);\n this.unlisten(trailingActionStrings.NAVIGATION_EVENT, this.handleTrailingActionNavigation);\n }\n _super.prototype.destroy.call(this);\n };\n /**\n * Begins the exit animation which leads to removal of the chip.\n */\n MDCChip.prototype.beginExit = function () {\n this.foundation.beginExit();\n };\n MDCChip.prototype.getDefaultFoundation = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n var adapter = {\n addClass: function (className) { return _this.root.classList.add(className); },\n addClassToLeadingIcon: function (className) {\n if (_this.leadingIcon) {\n _this.leadingIcon.classList.add(className);\n }\n },\n eventTargetHasClass: function (target, className) {\n return target ? target.classList.contains(className) : false;\n },\n focusPrimaryAction: function () {\n if (_this.primaryAction) {\n _this.primaryAction.focus();\n }\n },\n focusTrailingAction: function () {\n if (_this.trailingAction) {\n _this.trailingAction.focus();\n }\n },\n getAttribute: function (attr) { return _this.root.getAttribute(attr); },\n getCheckmarkBoundingClientRect: function () {\n return _this.checkmark ? _this.checkmark.getBoundingClientRect() : null;\n },\n getComputedStyleValue: function (propertyName) {\n return window.getComputedStyle(_this.root).getPropertyValue(propertyName);\n },\n getRootBoundingClientRect: function () { return _this.root.getBoundingClientRect(); },\n hasClass: function (className) { return _this.root.classList.contains(className); },\n hasLeadingIcon: function () { return !!_this.leadingIcon; },\n isRTL: function () { return window.getComputedStyle(_this.root).getPropertyValue('direction') === 'rtl'; },\n isTrailingActionNavigable: function () {\n if (_this.trailingAction) {\n return _this.trailingAction.isNavigable();\n }\n return false;\n },\n notifyInteraction: function () { return _this.emit(strings.INTERACTION_EVENT, { chipId: _this.id }, true /* shouldBubble */); },\n notifyNavigation: function (key, source) {\n return _this.emit(strings.NAVIGATION_EVENT, { chipId: _this.id, key: key, source: source }, true /* shouldBubble */);\n },\n notifyRemoval: function (removedAnnouncement) {\n _this.emit(strings.REMOVAL_EVENT, { chipId: _this.id, removedAnnouncement: removedAnnouncement }, true /* shouldBubble */);\n },\n notifySelection: function (selected, shouldIgnore) {\n return _this.emit(strings.SELECTION_EVENT, { chipId: _this.id, selected: selected, shouldIgnore: shouldIgnore }, true /* shouldBubble */);\n },\n notifyTrailingIconInteraction: function () {\n return _this.emit(strings.TRAILING_ICON_INTERACTION_EVENT, { chipId: _this.id }, true /* shouldBubble */);\n },\n notifyEditStart: function () { },\n notifyEditFinish: function () { },\n removeClass: function (className) { return _this.root.classList.remove(className); },\n removeClassFromLeadingIcon: function (className) {\n if (_this.leadingIcon) {\n _this.leadingIcon.classList.remove(className);\n }\n },\n removeTrailingActionFocus: function () {\n if (_this.trailingAction) {\n _this.trailingAction.removeFocus();\n }\n },\n setPrimaryActionAttr: function (attr, value) {\n if (_this.primaryAction) {\n _this.primaryAction.setAttribute(attr, value);\n }\n },\n setStyleProperty: function (propertyName, value) {\n return _this.root.style.setProperty(propertyName, value);\n },\n };\n return new MDCChipFoundation(adapter);\n };\n MDCChip.prototype.setSelectedFromChipSet = function (selected, shouldNotifyClients) {\n this.foundation.setSelectedFromChipSet(selected, shouldNotifyClients);\n };\n MDCChip.prototype.focusPrimaryAction = function () {\n this.foundation.focusPrimaryAction();\n };\n MDCChip.prototype.focusTrailingAction = function () {\n this.foundation.focusTrailingAction();\n };\n MDCChip.prototype.removeFocus = function () {\n this.foundation.removeFocus();\n };\n MDCChip.prototype.remove = function () {\n var parent = this.root.parentNode;\n if (parent !== null) {\n parent.removeChild(this.root);\n }\n };\n return MDCChip;\n}(MDCComponent));\nexport { MDCChip };\n//# sourceMappingURL=component.js.map","/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n/**\n * Priorities for the announce function.\n */\nexport var AnnouncerPriority;\n(function (AnnouncerPriority) {\n AnnouncerPriority[\"POLITE\"] = \"polite\";\n AnnouncerPriority[\"ASSERTIVE\"] = \"assertive\";\n})(AnnouncerPriority || (AnnouncerPriority = {}));\n/**\n * Data attribute added to live region element.\n */\nexport var DATA_MDC_DOM_ANNOUNCE = 'data-mdc-dom-announce';\n/**\n * Announces the given message with optional priority, defaulting to \"polite\"\n */\nexport function announce(message, options) {\n Announcer.getInstance().say(message, options);\n}\nvar Announcer = /** @class */ (function () {\n // Constructor made private to ensure only the singleton is used\n function Announcer() {\n this.liveRegions = new Map();\n }\n Announcer.getInstance = function () {\n if (!Announcer.instance) {\n Announcer.instance = new Announcer();\n }\n return Announcer.instance;\n };\n Announcer.prototype.say = function (message, options) {\n var _a, _b;\n var priority = (_a = options === null || options === void 0 ? void 0 : options.priority) !== null && _a !== void 0 ? _a : AnnouncerPriority.POLITE;\n var ownerDocument = (_b = options === null || options === void 0 ? void 0 : options.ownerDocument) !== null && _b !== void 0 ? _b : document;\n var liveRegion = this.getLiveRegion(priority, ownerDocument);\n // Reset the region to pick up the message, even if the message is the\n // exact same as before.\n liveRegion.textContent = '';\n // Timeout is necessary for screen readers like NVDA and VoiceOver.\n setTimeout(function () {\n liveRegion.textContent = message;\n ownerDocument.addEventListener('click', clearLiveRegion);\n }, 1);\n function clearLiveRegion() {\n liveRegion.textContent = '';\n ownerDocument.removeEventListener('click', clearLiveRegion);\n }\n };\n Announcer.prototype.getLiveRegion = function (priority, ownerDocument) {\n var documentLiveRegions = this.liveRegions.get(ownerDocument);\n if (!documentLiveRegions) {\n documentLiveRegions = new Map();\n this.liveRegions.set(ownerDocument, documentLiveRegions);\n }\n var existingLiveRegion = documentLiveRegions.get(priority);\n if (existingLiveRegion &&\n ownerDocument.body.contains(existingLiveRegion)) {\n return existingLiveRegion;\n }\n var liveRegion = this.createLiveRegion(priority, ownerDocument);\n documentLiveRegions.set(priority, liveRegion);\n return liveRegion;\n };\n Announcer.prototype.createLiveRegion = function (priority, ownerDocument) {\n var el = ownerDocument.createElement('div');\n el.style.position = 'absolute';\n el.style.top = '-9999px';\n el.style.left = '-9999px';\n el.style.height = '1px';\n el.style.overflow = 'hidden';\n el.setAttribute('aria-atomic', 'true');\n el.setAttribute('aria-live', priority);\n el.setAttribute(DATA_MDC_DOM_ANNOUNCE, 'true');\n ownerDocument.body.appendChild(el);\n return el;\n };\n return Announcer;\n}());\n//# sourceMappingURL=announce.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nexport var strings = {\n CHIP_SELECTOR: '.mdc-chip',\n};\nexport var cssClasses = {\n CHOICE: 'mdc-chip-set--choice',\n FILTER: 'mdc-chip-set--filter',\n};\n//# sourceMappingURL=constants.js.map","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __assign, __extends } from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { Direction, EventSource, jumpChipKeys, navigationKeys, strings as chipStrings } from '../chip/constants';\nimport { cssClasses, strings } from './constants';\nvar MDCChipSetFoundation = /** @class */ (function (_super) {\n __extends(MDCChipSetFoundation, _super);\n function MDCChipSetFoundation(adapter) {\n var _this = _super.call(this, __assign(__assign({}, MDCChipSetFoundation.defaultAdapter), adapter)) || this;\n /**\n * The ids of the selected chips in the set. Only used for choice chip set or filter chip set.\n */\n _this.selectedChipIds = [];\n return _this;\n }\n Object.defineProperty(MDCChipSetFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChipSetFoundation, \"cssClasses\", {\n get: function () {\n return cssClasses;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChipSetFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n announceMessage: function () { return undefined; },\n focusChipPrimaryActionAtIndex: function () { return undefined; },\n focusChipTrailingActionAtIndex: function () { return undefined; },\n getChipListCount: function () { return -1; },\n getIndexOfChipById: function () { return -1; },\n hasClass: function () { return false; },\n isRTL: function () { return false; },\n removeChipAtIndex: function () { return undefined; },\n removeFocusFromChipAtIndex: function () { return undefined; },\n selectChipAtIndex: function () { return undefined; },\n };\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Returns an array of the IDs of all selected chips.\n */\n MDCChipSetFoundation.prototype.getSelectedChipIds = function () {\n return this.selectedChipIds.slice();\n };\n /**\n * Selects the chip with the given id. Deselects all other chips if the chip set is of the choice variant.\n * Does not notify clients of the updated selection state.\n */\n MDCChipSetFoundation.prototype.select = function (chipId) {\n this.selectImpl(chipId, false);\n };\n /**\n * Handles a chip interaction event\n */\n MDCChipSetFoundation.prototype.handleChipInteraction = function (_a) {\n var chipId = _a.chipId;\n var index = this.adapter.getIndexOfChipById(chipId);\n this.removeFocusFromChipsExcept(index);\n if (this.adapter.hasClass(cssClasses.CHOICE) ||\n this.adapter.hasClass(cssClasses.FILTER)) {\n this.toggleSelect(chipId);\n }\n };\n /**\n * Handles a chip selection event, used to handle discrepancy when selection state is set directly on the Chip.\n */\n MDCChipSetFoundation.prototype.handleChipSelection = function (_a) {\n var chipId = _a.chipId, selected = _a.selected, shouldIgnore = _a.shouldIgnore;\n // Early exit if we should ignore the event\n if (shouldIgnore) {\n return;\n }\n var chipIsSelected = this.selectedChipIds.indexOf(chipId) >= 0;\n if (selected && !chipIsSelected) {\n this.select(chipId);\n }\n else if (!selected && chipIsSelected) {\n this.deselectImpl(chipId);\n }\n };\n /**\n * Handles the event when a chip is removed.\n */\n MDCChipSetFoundation.prototype.handleChipRemoval = function (_a) {\n var chipId = _a.chipId, removedAnnouncement = _a.removedAnnouncement;\n if (removedAnnouncement) {\n this.adapter.announceMessage(removedAnnouncement);\n }\n var index = this.adapter.getIndexOfChipById(chipId);\n this.deselectAndNotifyClients(chipId);\n this.adapter.removeChipAtIndex(index);\n var maxIndex = this.adapter.getChipListCount() - 1;\n if (maxIndex < 0) {\n return;\n }\n var nextIndex = Math.min(index, maxIndex);\n this.removeFocusFromChipsExcept(nextIndex);\n // After removing a chip, we should focus the trailing action for the next chip.\n this.adapter.focusChipTrailingActionAtIndex(nextIndex);\n };\n /**\n * Handles a chip navigation event.\n */\n MDCChipSetFoundation.prototype.handleChipNavigation = function (_a) {\n var chipId = _a.chipId, key = _a.key, source = _a.source;\n var maxIndex = this.adapter.getChipListCount() - 1;\n var index = this.adapter.getIndexOfChipById(chipId);\n // Early exit if the index is out of range or the key is unusable\n if (index === -1 || !navigationKeys.has(key)) {\n return;\n }\n var isRTL = this.adapter.isRTL();\n var isLeftKey = key === chipStrings.ARROW_LEFT_KEY ||\n key === chipStrings.IE_ARROW_LEFT_KEY;\n var isRightKey = key === chipStrings.ARROW_RIGHT_KEY ||\n key === chipStrings.IE_ARROW_RIGHT_KEY;\n var isDownKey = key === chipStrings.ARROW_DOWN_KEY ||\n key === chipStrings.IE_ARROW_DOWN_KEY;\n var shouldIncrement = !isRTL && isRightKey || isRTL && isLeftKey || isDownKey;\n var isHome = key === chipStrings.HOME_KEY;\n var isEnd = key === chipStrings.END_KEY;\n if (shouldIncrement) {\n index++;\n }\n else if (isHome) {\n index = 0;\n }\n else if (isEnd) {\n index = maxIndex;\n }\n else {\n index--;\n }\n // Early exit if the index is out of bounds\n if (index < 0 || index > maxIndex) {\n return;\n }\n this.removeFocusFromChipsExcept(index);\n this.focusChipAction(index, key, source);\n };\n MDCChipSetFoundation.prototype.focusChipAction = function (index, key, source) {\n var shouldJumpChips = jumpChipKeys.has(key);\n if (shouldJumpChips && source === EventSource.PRIMARY) {\n return this.adapter.focusChipPrimaryActionAtIndex(index);\n }\n if (shouldJumpChips && source === EventSource.TRAILING) {\n return this.adapter.focusChipTrailingActionAtIndex(index);\n }\n var dir = this.getDirection(key);\n if (dir === Direction.LEFT) {\n return this.adapter.focusChipTrailingActionAtIndex(index);\n }\n if (dir === Direction.RIGHT) {\n return this.adapter.focusChipPrimaryActionAtIndex(index);\n }\n };\n MDCChipSetFoundation.prototype.getDirection = function (key) {\n var isRTL = this.adapter.isRTL();\n var isLeftKey = key === chipStrings.ARROW_LEFT_KEY ||\n key === chipStrings.IE_ARROW_LEFT_KEY;\n var isRightKey = key === chipStrings.ARROW_RIGHT_KEY ||\n key === chipStrings.IE_ARROW_RIGHT_KEY;\n if (!isRTL && isLeftKey || isRTL && isRightKey) {\n return Direction.LEFT;\n }\n return Direction.RIGHT;\n };\n /**\n * Deselects the chip with the given id and optionally notifies clients.\n */\n MDCChipSetFoundation.prototype.deselectImpl = function (chipId, shouldNotifyClients) {\n if (shouldNotifyClients === void 0) { shouldNotifyClients = false; }\n var index = this.selectedChipIds.indexOf(chipId);\n if (index >= 0) {\n this.selectedChipIds.splice(index, 1);\n var chipIndex = this.adapter.getIndexOfChipById(chipId);\n this.adapter.selectChipAtIndex(chipIndex, /** isSelected */ false, shouldNotifyClients);\n }\n };\n /**\n * Deselects the chip with the given id and notifies clients.\n */\n MDCChipSetFoundation.prototype.deselectAndNotifyClients = function (chipId) {\n this.deselectImpl(chipId, true);\n };\n /**\n * Toggles selection of the chip with the given id.\n */\n MDCChipSetFoundation.prototype.toggleSelect = function (chipId) {\n if (this.selectedChipIds.indexOf(chipId) >= 0) {\n this.deselectAndNotifyClients(chipId);\n }\n else {\n this.selectAndNotifyClients(chipId);\n }\n };\n MDCChipSetFoundation.prototype.removeFocusFromChipsExcept = function (index) {\n var chipCount = this.adapter.getChipListCount();\n for (var i = 0; i < chipCount; i++) {\n if (i !== index) {\n this.adapter.removeFocusFromChipAtIndex(i);\n }\n }\n };\n MDCChipSetFoundation.prototype.selectAndNotifyClients = function (chipId) {\n this.selectImpl(chipId, true);\n };\n MDCChipSetFoundation.prototype.selectImpl = function (chipId, shouldNotifyClients) {\n if (this.selectedChipIds.indexOf(chipId) >= 0) {\n return;\n }\n if (this.adapter.hasClass(cssClasses.CHOICE) &&\n this.selectedChipIds.length > 0) {\n var previouslySelectedChip = this.selectedChipIds[0];\n var previouslySelectedIndex = this.adapter.getIndexOfChipById(previouslySelectedChip);\n this.selectedChipIds = [];\n this.adapter.selectChipAtIndex(previouslySelectedIndex, /** isSelected */ false, shouldNotifyClients);\n }\n this.selectedChipIds.push(chipId);\n var index = this.adapter.getIndexOfChipById(chipId);\n this.adapter.selectChipAtIndex(index, /** isSelected */ true, shouldNotifyClients);\n };\n return MDCChipSetFoundation;\n}(MDCFoundation));\nexport { MDCChipSetFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCChipSetFoundation;\n//# sourceMappingURL=foundation.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __extends, __values } from \"tslib\";\nimport { MDCComponent } from '@material/base/component';\nimport { announce } from '@material/dom/announce';\nimport { MDCChip } from '../chip/component';\nimport { MDCChipFoundation } from '../chip/foundation';\nimport { MDCChipSetFoundation } from './foundation';\nvar _a = MDCChipFoundation.strings, INTERACTION_EVENT = _a.INTERACTION_EVENT, SELECTION_EVENT = _a.SELECTION_EVENT, REMOVAL_EVENT = _a.REMOVAL_EVENT, NAVIGATION_EVENT = _a.NAVIGATION_EVENT;\nvar CHIP_SELECTOR = MDCChipSetFoundation.strings.CHIP_SELECTOR;\nvar idCounter = 0;\nvar MDCChipSet = /** @class */ (function (_super) {\n __extends(MDCChipSet, _super);\n function MDCChipSet() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MDCChipSet.attachTo = function (root) {\n return new MDCChipSet(root);\n };\n Object.defineProperty(MDCChipSet.prototype, \"chips\", {\n get: function () {\n return this.chipsList.slice();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChipSet.prototype, \"selectedChipIds\", {\n /**\n * @return An array of the IDs of all selected chips.\n */\n get: function () {\n return this.foundation.getSelectedChipIds();\n },\n enumerable: false,\n configurable: true\n });\n /**\n * @param chipFactory A function which creates a new MDCChip.\n */\n MDCChipSet.prototype.initialize = function (chipFactory) {\n if (chipFactory === void 0) { chipFactory = function (el) { return new MDCChip(el); }; }\n this.chipFactory = chipFactory;\n this.chipsList = this.instantiateChips(this.chipFactory);\n };\n MDCChipSet.prototype.initialSyncWithDOM = function () {\n var e_1, _a;\n var _this = this;\n try {\n for (var _b = __values(this.chipsList), _c = _b.next(); !_c.done; _c = _b.next()) {\n var chip = _c.value;\n if (chip.id && chip.selected) {\n this.foundation.select(chip.id);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n this.handleChipInteraction = function (evt) {\n return _this.foundation.handleChipInteraction(evt.detail);\n };\n this.handleChipSelection = function (evt) {\n return _this.foundation.handleChipSelection(evt.detail);\n };\n this.handleChipRemoval = function (evt) {\n return _this.foundation.handleChipRemoval(evt.detail);\n };\n this.handleChipNavigation = function (evt) {\n return _this.foundation.handleChipNavigation(evt.detail);\n };\n this.listen(INTERACTION_EVENT, this.handleChipInteraction);\n this.listen(SELECTION_EVENT, this.handleChipSelection);\n this.listen(REMOVAL_EVENT, this.handleChipRemoval);\n this.listen(NAVIGATION_EVENT, this.handleChipNavigation);\n };\n MDCChipSet.prototype.destroy = function () {\n var e_2, _a;\n try {\n for (var _b = __values(this.chipsList), _c = _b.next(); !_c.done; _c = _b.next()) {\n var chip = _c.value;\n chip.destroy();\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n this.unlisten(INTERACTION_EVENT, this.handleChipInteraction);\n this.unlisten(SELECTION_EVENT, this.handleChipSelection);\n this.unlisten(REMOVAL_EVENT, this.handleChipRemoval);\n this.unlisten(NAVIGATION_EVENT, this.handleChipNavigation);\n _super.prototype.destroy.call(this);\n };\n /**\n * Adds a new chip object to the chip set from the given chip element.\n */\n MDCChipSet.prototype.addChip = function (chipEl) {\n chipEl.id = chipEl.id || \"mdc-chip-\" + ++idCounter;\n this.chipsList.push(this.chipFactory(chipEl));\n };\n MDCChipSet.prototype.getDefaultFoundation = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n var adapter = {\n announceMessage: function (message) {\n announce(message);\n },\n focusChipPrimaryActionAtIndex: function (index) {\n _this.chipsList[index].focusPrimaryAction();\n },\n focusChipTrailingActionAtIndex: function (index) {\n _this.chipsList[index].focusTrailingAction();\n },\n getChipListCount: function () { return _this.chips.length; },\n getIndexOfChipById: function (chipId) {\n return _this.findChipIndex(chipId);\n },\n hasClass: function (className) { return _this.root.classList.contains(className); },\n isRTL: function () { return window.getComputedStyle(_this.root).getPropertyValue('direction') === 'rtl'; },\n removeChipAtIndex: function (index) {\n if (index >= 0 && index < _this.chips.length) {\n _this.chipsList[index].destroy();\n _this.chipsList[index].remove();\n _this.chipsList.splice(index, 1);\n }\n },\n removeFocusFromChipAtIndex: function (index) {\n _this.chipsList[index].removeFocus();\n },\n selectChipAtIndex: function (index, selected, shouldNotifyClients) {\n if (index >= 0 && index < _this.chips.length) {\n _this.chipsList[index].setSelectedFromChipSet(selected, shouldNotifyClients);\n }\n },\n };\n return new MDCChipSetFoundation(adapter);\n };\n /**\n * Instantiates chip components on all of the chip set's child chip elements.\n */\n MDCChipSet.prototype.instantiateChips = function (chipFactory) {\n var chipElements = [].slice.call(this.root.querySelectorAll(CHIP_SELECTOR));\n return chipElements.map(function (el) {\n el.id = el.id || \"mdc-chip-\" + ++idCounter;\n return chipFactory(el);\n });\n };\n /**\n * Returns the index of the chip with the given id, or -1 if the chip does not exist.\n */\n MDCChipSet.prototype.findChipIndex = function (chipId) {\n for (var i = 0; i < this.chips.length; i++) {\n if (this.chipsList[i].id === chipId) {\n return i;\n }\n }\n return -1;\n };\n return MDCChipSet;\n}(MDCComponent));\nexport { MDCChipSet };\n//# sourceMappingURL=component.js.map","import {\n ARROW_LEFT,\n ARROW_LEFT_KEY_CODE,\n ARROW_RIGHT,\n ARROW_RIGHT_KEY_CODE,\n BACKSPACE,\n BACKSPACE_KEY_CODE,\n DELETE,\n DELETE_KEY_CODE,\n ENTER,\n ENTER_KEY_CODE,\n ESCAPE,\n ESCAPE_KEY_CODE,\n} from '../../util/keycodes';\n\n/**\n * Key handler for the input field.\n * Lets the user select, activate, and remove chips with the keyboard.\n *\n * @param event - event\n\n */\nexport function handleKeyboardEvent(event: KeyboardEvent) {\n if (this.textValue.length) {\n // If there is any text in the input field, keyboard input should\n // navigate the text, not the chips.\n return;\n }\n\n if (!this.value || !this.value.length) {\n // If there are no chips, there is nothing to select.\n return;\n }\n\n const isLeft =\n event.key === ARROW_LEFT || event.keyCode === ARROW_LEFT_KEY_CODE;\n const isRight =\n event.key === ARROW_RIGHT || event.keyCode === ARROW_RIGHT_KEY_CODE;\n const isEnter = event.key === ENTER || event.keyCode === ENTER_KEY_CODE;\n const isDelete = event.key === DELETE || event.keyCode === DELETE_KEY_CODE;\n const isBackspace =\n event.key === BACKSPACE || event.keyCode === BACKSPACE_KEY_CODE;\n const isEscape = event.key === ESCAPE || event.keyCode === ESCAPE_KEY_CODE;\n\n if (isLeft) {\n return handleLeft(this, event);\n }\n\n if (isRight) {\n return handleRight(this, event);\n }\n\n if (isEnter) {\n return handleEnter(this, event);\n }\n\n if (isDelete) {\n return handleDelete(this, event);\n }\n\n if (isBackspace) {\n return handleBackspace(this, event);\n }\n\n if (isEscape) {\n return handleEscape(this, event);\n }\n}\n\nfunction handleLeft(host, event) {\n event.preventDefault();\n if (host.inputChipIndexSelected === null) {\n host.inputChipIndexSelected = host.value.length - 1;\n\n return;\n }\n\n if (host.inputChipIndexSelected <= 0) {\n return;\n }\n\n host.inputChipIndexSelected -= 1;\n}\n\nfunction handleRight(host, event) {\n event.preventDefault();\n if (host.inputChipIndexSelected === null) {\n host.inputChipIndexSelected = 0;\n\n return;\n }\n\n if (host.inputChipIndexSelected >= host.value.length - 1) {\n return;\n }\n\n host.inputChipIndexSelected += 1;\n}\n\nfunction handleEnter(host, event) {\n if (host.inputChipIndexSelected !== null) {\n event.preventDefault();\n host.emitInteraction(host.value[host.inputChipIndexSelected]);\n }\n}\n\nfunction handleEscape(host, event) {\n if (host.inputChipIndexSelected !== null) {\n event.preventDefault();\n host.inputChipIndexSelected = null;\n }\n}\n\nfunction handleDelete(host, event) {\n if (host.inputChipIndexSelected !== null) {\n event.preventDefault();\n removeChip(host);\n }\n}\n\nfunction handleBackspace(host, event) {\n if (host.inputChipIndexSelected !== null) {\n event.preventDefault();\n removeChip(host);\n } else if (!event.repeat) {\n host.inputChipIndexSelected = host.value.length - 1;\n }\n}\n\nfunction removeChip(host) {\n if (host.inputChipIndexSelected !== null) {\n host.removeChip(host.value[host.inputChipIndexSelected].id);\n host.inputChipIndexSelected = null;\n }\n}\n","@use '../../style/functions';\n@use '../../style/internal/shared_input-select-picker';\n@use '../../style/mixins';\n\n@use '../../style/internal/lime-theme';\n\n@use '@material/textfield';\n@use '@material/textfield/icon';\n@use '@material/notched-outline/mdc-notched-outline';\n@use '@material/floating-label';\n@use '@material/floating-label/mdc-floating-label';\n@use '@material/chips/deprecated/mdc-chips';\n\n/**\n * @prop --icon-background-color: Background color of the icon. Defaults to transparent.\n * @prop --icon-color: Color of the icon. Defaults to `rgb(var(--contrast-1100))`.\n * @prop --background-color: Background color of the field when type is set to input.\n * @prop --background-color-disabled: Background color of the field when type is set to input and the component is disabled or readonly.\n * @prop --input-chip-set-selected-chip-color: Color of the highlight around selected chips in input chip-sets.\n */\n\n@include textfield.core-styles;\n@include icon.icon-core-styles;\n\n@include shared_input-select-picker.outlined-style-overrides;\n@include shared_input-select-picker.floating-label-overrides;\n@include shared_input-select-picker.cropped-label-hack;\n@include shared_input-select-picker.disabled-overrides;\n@include shared_input-select-picker.readonly-overrides;\n@include shared_input-select-picker.leading-icon;\n@include shared_input-select-picker.lime-empty-value-for-readonly;\n@include shared_input-select-picker.lime-looks-like-input-value;\n\n$height-of-chip-set-input: functions.pxToRem(36);\n$leading-icon-space: functions.pxToRem(40);\n$background-color-of-remove-chip-buton-when-hovered: rgba(\n var(--color-red-default),\n 0.2\n);\n$scale-of-remove-chip-x-when-hovered: scale(0.7);\n\n:host(limel-chip-set) {\n isolation: isolate;\n}\n\n.mdc-chip {\n // As long as this component is depended on MDC,\n // we need to force it to be font-agnostic.\n // When MDC-dependency is removed, this block can also be removed.\n // However, on removal of MDC-dependency, we should also make sure to check\n // other font-related styles that might be set by MDC,\n // such as `letter-spacing` or `font-size`.\n font-family: inherit;\n}\n\n.mdc-chip {\n @include mixins.is-elevated-inset-clickable();\n max-width: 100%;\n min-width: functions.pxToRem(32);\n padding: 0 functions.pxToRem(1);\n display: inline-grid;\n grid-auto-flow: column;\n\n span[role='gridcell'] {\n min-width: 0; // This is needed to force mdc-chip__text (which is inside this span) to truncate\n\n &:only-child {\n .mdc-chip__text {\n padding-left: functions.pxToRem(12);\n }\n }\n\n &:first-child {\n .mdc-chip__text {\n padding-left: functions.pxToRem(12);\n }\n }\n\n a[role='button'],\n span[role='checkbox'] {\n &:focus-visible {\n &:after {\n // visualizes keyboard navigation on Chrome & Firefox\n // only when non-pointer input is being used,\n // e.g. tabbed into using keyboard\n content: '';\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n border-radius: functions.pxToRem(60);\n box-shadow: var(--shadow-depth-8-focused);\n }\n }\n }\n }\n\n &.mdc-chip--selected {\n color: var(--mdc-theme-primary) !important;\n background-color: var(--mdc-theme-surface) !important;\n box-shadow: var(--button-shadow-inset);\n\n &:active {\n box-shadow: var(--button-shadow-inset-pressed);\n }\n\n .mdc-chip__icon--leading {\n color: var(--mdc-theme-primary) !important;\n }\n }\n}\n\n.mdc-chip.mdc-chip--selected .mdc-chip__checkmark,\n.mdc-chip__checkmark {\n margin-right: functions.pxToRem(4);\n margin-left: functions.pxToRem(8);\n}\n\nlimel-badge {\n margin-right: functions.pxToRem(4);\n margin-left: functions.pxToRem(-4);\n}\n\n.mdc-chip__text {\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n padding: 0 functions.pxToRem(12) 0 functions.pxToRem(4);\n color: inherit;\n text-decoration: none;\n\n &:focus,\n &:focus-visible {\n outline: none;\n }\n}\n\nlimel-icon.mdc-chip__icon.mdc-chip__icon--leading {\n background-color: var(--icon-background-color, transparent);\n margin: 0 !important;\n color: var(--icon-color, rgb(var(--contrast-1100)));\n}\n\n.mdc-chip-set {\n align-items: center;\n min-height: shared_input-select-picker.$height-of-mdc-text-field;\n position: relative;\n\n &.chip-set--with-label {\n .lime-floating-label--float-above {\n padding-left: functions.pxToRem(4);\n }\n }\n\n &.mdc-chip-set--input {\n padding: functions.pxToRem(8);\n\n width: 100%;\n\n .mdc-chip--selected {\n // When chip is selected with keyboard (backspace / arrow-keys) to be deleted\n box-shadow: var(--shadow-depth-8-error);\n\n .mdc-chip__icon--trailing {\n color: rgb(var(--color-red-dark));\n background-color: $background-color-of-remove-chip-buton-when-hovered;\n\n svg {\n transform: $scale-of-remove-chip-x-when-hovered;\n }\n }\n }\n }\n\n &.has-clear-all-button {\n &.mdc-chip-set--input {\n padding-right: functions.pxToRem(\n 32\n ); // This leaves space for \"clear all\" button and avoids overlapping with chips\n }\n }\n\n &.disabled:not(.mdc-chip-set--input) {\n @include shared_input-select-picker.looks-disabled;\n pointer-events: none;\n }\n}\n\n.mdc-chip__icon {\n &.mdc-chip__icon--trailing {\n transition:\n background-color 0.2s ease,\n color 0.2s ease;\n\n color: var(--mdc-theme-on-surface);\n margin-left: 0;\n margin-right: functions.pxToRem(5);\n\n width: functions.pxToRem(22);\n height: functions.pxToRem(22);\n\n &:hover {\n background-color: $background-color-of-remove-chip-buton-when-hovered;\n\n svg {\n transform: $scale-of-remove-chip-x-when-hovered;\n }\n }\n\n svg {\n transition: transform 0.2s ease;\n display: block;\n transform: scale(0.9);\n }\n }\n}\n\n.mdc-text-field {\n height: auto;\n cursor: text;\n\n .mdc-text-field__input {\n @include shared_input-select-picker.input-field-placeholder;\n\n width: auto;\n height: $height-of-chip-set-input;\n line-height: $height-of-chip-set-input;\n padding: 0 functions.pxToRem(12);\n\n flex-grow: 1;\n flex-shrink: 0;\n\n &.hidden {\n // This class is added, as soon as there is a chip selected and displayed\n // This input field should not be visually visible as it breaks the UI in some cases\n // But it should be rendered to be able to tab between fields and do other keyboard commands /Kia\n transition: all 0s;\n opacity: 0;\n position: absolute;\n z-index: -100; // to let users interact with chips, in case they're covered\n }\n &[type='search'] {\n -webkit-appearance: textfield; // Removes the default magnifying glass icon on iOS which appears automatically on input fields with type of search\n background-color: transparent; // overides styles caused by previous line\n\n &::-webkit-search-cancel-button {\n display: none; // removes the default X button\n }\n }\n }\n}\n\n.mdc-text-field--disabled .mdc-chip {\n pointer-events: all;\n\n &.disabled {\n @include shared_input-select-picker.looks-disabled;\n pointer-events: none;\n }\n}\n\n// used only in chipsets that do not have input\n.chip-set__label {\n @include mixins.truncate-text;\n width: 120%; // `120%` instead of `100%`,\n // because this class is always together with `mdc-floating-label--float-above`,\n // which scales the label down. So there is more horizontal space to display the label in.\n top: functions.pxToRem(13);\n padding-left: functions.pxToRem(20);\n}\n\n// Because MDC removes some classes in chipset, we add custom\n// classes with similar names and expected behavior & styles.\n// These class names start with `lime-`, instead of `mdc-`.\n.lime-notched-outline--notched {\n .mdc-notched-outline__notch {\n border-top: 1px solid transparent !important;\n\n .lime-floating-label--float-above {\n // This overrides MDC's original top value which is `top: 50%`.\n // The reason is that a % value aligns the label in a wrong position\n // vertically, when there are multiple rows of chips.\n top: functions.pxToRem(27);\n\n transform: translateY(-34.75px) scale(0.75);\n font-size: shared_input-select-picker.$cropped-label-hack--font-size;\n }\n }\n}\n\n.force-invalid {\n @extend .mdc-text-field--invalid;\n}\n\n.clear-all-button {\n @include mixins.clear-all-button;\n @include mixins.visualize-keyboard-focus;\n\n position: absolute;\n right: functions.pxToRem(8);\n top: functions.pxToRem(18);\n\n opacity: 0; // Is hidden, but can receive focus (such as when navigating through tab indexes).\n\n &:focus,\n .has-chips:not(.mdc-text-field--disabled):hover &,\n .has-chips:not(.mdc-text-field--disabled).mdc-text-field--focused & {\n opacity: 1;\n outline: none;\n }\n\n :not(.has-chips) &,\n .has-chips.mdc-text-field--disabled & {\n display: none; // Won't receive focus when disabled\n }\n}\n\n.has-leading-icon {\n &:not(.has-chips) {\n .mdc-text-field__input {\n padding-left: $leading-icon-space;\n }\n\n .mdc-floating-label {\n &:not(.lime-floating-label--float-above) {\n left: $leading-icon-space;\n }\n &.mdc-floating-label--float-above {\n left: functions.pxToRem(4);\n }\n }\n }\n\n .mdc-chip {\n &:first-of-type {\n margin-left: 40px;\n }\n }\n\n .search-icon {\n transition: transform 0.2s ease;\n position: absolute;\n top: functions.pxToRem(16);\n left: functions.pxToRem(16);\n }\n\n limel-icon {\n background-color: transparent;\n }\n}\n\n.delimiter {\n opacity: 0.5;\n padding: 0 functions.pxToRem(2);\n color: var(--mdc-theme-on-surface);\n}\n\n@import './partial-styles/_readonly';\n@import './partial-styles/_file-picker';\n@import './partial-styles/_helper-text';\n","import { Chip } from '../chip-set/chip.types';\nimport { Languages } from '../date-picker/date.types';\nimport {\n MDCChipInteractionEvent,\n MDCChipSelectionEvent,\n MDCChipSet,\n} from '@material/chips/deprecated';\nimport { MDCTextField } from '@material/textfield';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { handleKeyboardEvent } from './chip-set-input-helpers';\nimport translate from '../../global/translations';\nimport { getHref, getTarget } from '../../util/link-helper';\nimport { isEqual } from 'lodash-es';\nimport {\n getIconBackgroundColor,\n getIconColor,\n getIconName,\n getIconTitle,\n} from '../icon/get-icon-props';\n\nconst SELECTED_CHIP_CLASS = 'mdc-chip--selected';\nconst INPUT_FIELD_TABINDEX = 1;\n\n/**\n * @exampleComponent limel-example-chip-set\n * @exampleComponent limel-example-chip-set-choice\n * @exampleComponent limel-example-chip-set-filter\n * @exampleComponent limel-example-chip-set-filter-badge\n * @exampleComponent limel-example-chip-set-input\n * @exampleComponent limel-example-chip-set-input-type-text\n * @exampleComponent limel-example-chip-set-input-type-search\n * @exampleComponent limel-example-chip-icon-color\n * @exampleComponent limel-example-chip-set-composite\n */\n@Component({\n tag: 'limel-chip-set',\n shadow: true,\n styleUrl: 'chip-set.scss',\n})\nexport class ChipSet {\n /**\n * List of chips for the set\n */\n @Prop()\n public value: Chip[] = [];\n\n /**\n * Type of chip set\n *\n * - `choice` renders a set of selectable chips where only one is selectable. The `removable` property is ignored\n * - `filter` renders a set of selectable chips where all are selectable. The `icon` property is ignored\n * - `input` renders a set of chips that can be used in conjunction with an input field\n *\n * If no type is set, a basic set of chips without additional functionality will be rendered\n */\n @Prop({ reflect: true })\n public type?: 'choice' | 'filter' | 'input';\n\n /**\n * Label for the chip-set\n */\n @Prop({ reflect: true })\n public label: string;\n\n /**\n * Optional helper text to display below the chipset.\n * When type is `input`, the helper text is displayed below the\n * input field when it has focus.\n * When type is not `input`, the helper text is always displayed\n * if the device is touch screen; otherwise it is shown when chip-set\n * is hovered or focused using keyboard navigation.\n */\n @Prop({ reflect: true })\n public helperText: string;\n\n /**\n * True if the chip set should be disabled\n */\n @Prop({ reflect: true })\n public disabled: boolean = false;\n\n /**\n * For chip-sets of type `input`, set to `true` to disable adding and\n * removing chips, but allow interaction with existing chips in the set.\n * For any other types, setting either `readonly` or `disabled` disables\n * the chip-set.\n */\n @Prop({ reflect: true })\n public readonly: boolean = false;\n\n /**\n * Set to `true` to indicate that the current value of the input field is\n * invalid.\n */\n @Prop({ reflect: true })\n public invalid = false;\n\n /**\n * For chip-sets of type `input`. Value to use for the `type` attribute on the\n * input field inside the chip-set.\n */\n @Prop({ reflect: true })\n public inputType: 'search' | 'text' = 'text';\n\n /**\n * For chip-sets of type `input`. Limits the maximum number of chips.\n * When the value is `0` or not set, no limit is applied.\n */\n @Prop({ reflect: true })\n public maxItems: number;\n\n /**\n * True if the control requires a value\n */\n @Prop({ reflect: true })\n public required: boolean = false;\n\n /**\n * Search label to display when type is `input` and component is in search mode\n */\n @Prop({ reflect: true })\n public searchLabel: string;\n\n /**\n * Whether the input field should be emptied when the chip-set loses focus.\n */\n @Prop({ reflect: true })\n public emptyInputOnBlur: boolean = true;\n\n /**\n * Whether the \"Clear all\" buttons should be shown\n */\n @Prop()\n public clearAllButton: boolean = true;\n\n /**\n * For chip-sets of type `input`. When the value is null, no leading icon is used.\n * Leading icon to show to the far left in the text field\n */\n @Prop({ reflect: true })\n public leadingIcon: string = null;\n\n /**\n * For chip-set of type `input`. Sets delimiters between chips.\n */\n @Prop({ reflect: true })\n public delimiter: string = null;\n\n /**\n * Defines the language for translations.\n * Will translate the translatable strings on the components. For example, the clear all chips label.\n */\n @Prop()\n public language: Languages = 'en';\n\n /**\n * Dispatched when a chip is interacted with\n */\n @Event()\n private interact: EventEmitter<Chip>;\n\n /**\n * Dispatched when a chip is selected/deselected\n */\n @Event()\n private change: EventEmitter<Chip | Chip[]>;\n\n /**\n * Emitted when an input chip set has received focus and editing in the text field has started\n */\n @Event()\n private startEdit: EventEmitter<void>;\n\n /**\n * Emitted when an input chip set has lost focus and editing in the text field has ended\n */\n @Event()\n private stopEdit: EventEmitter<void>;\n\n /**\n * Dispatched when the input is changed for type `input`\n */\n @Event()\n private input: EventEmitter<string>;\n\n @Element()\n private host: HTMLLimelChipSetElement;\n\n @State()\n private editMode: boolean = false;\n\n @State()\n private textValue: string = '';\n\n @State()\n private blurred: boolean = false;\n\n @State()\n private inputChipIndexSelected: number = null;\n\n private mdcChipSet: MDCChipSet;\n private mdcTextField: MDCTextField;\n private handleKeyDown = handleKeyboardEvent;\n\n constructor() {\n this.renderChip = this.renderChip.bind(this);\n this.renderInputChip = this.renderInputChip.bind(this);\n this.isFull = this.isFull.bind(this);\n this.handleInteractionEvent = this.handleInteractionEvent.bind(this);\n this.handleSelection = this.handleSelection.bind(this);\n this.handleTextFieldFocus = this.handleTextFieldFocus.bind(this);\n this.handleInputBlur = this.handleInputBlur.bind(this);\n this.handleTextInput = this.handleTextInput.bind(this);\n this.inputFieldOnChange = this.inputFieldOnChange.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.inputHidden = this.inputHidden.bind(this);\n this.handleDeleteAllIconClick =\n this.handleDeleteAllIconClick.bind(this);\n this.renderDelimiter = this.renderDelimiter.bind(this);\n }\n\n /**\n * Used to find out whether the chip-set is in edit mode.\n *\n * @returns `true` if the chip-set is in edit mode, `false` otherwise.\n */\n @Method()\n public async getEditMode(): Promise<boolean> {\n return this.editMode;\n }\n\n /**\n * Used to set focus to the chip-set input field.\n *\n * @param emptyInput - if `true`, any text in the input is discarded\n * @returns does not return anything, but methods have to be async\n */\n @Method()\n public async setFocus(emptyInput: boolean = false) {\n if (this.disabled || this.readonly) {\n return;\n }\n\n this.editMode = true;\n if (emptyInput) {\n this.textValue = '';\n }\n\n this.host.shadowRoot.querySelector('input').focus();\n this.startEdit.emit();\n }\n\n /**\n * Used to empty the input field. Used in conjunction with `emptyInputOnBlur` to let the\n * consumer control when the input is emptied.\n *\n * @returns does not return anything, but methods have to be async\n */\n @Method()\n public async emptyInput() {\n this.syncEmptyInput();\n }\n\n public componentDidLoad() {\n this.triggerIconColorWarning(this.value);\n\n if (this.type === 'input') {\n this.mdcTextField = new MDCTextField(\n this.host.shadowRoot.querySelector('.mdc-text-field'),\n );\n }\n\n this.createMDCChipSet();\n }\n\n public componentWillUpdate() {\n this.destroyMDCChipSet();\n }\n\n public componentDidUpdate() {\n this.createMDCChipSet();\n const input = this.host.shadowRoot.querySelector('input');\n if (input && this.editMode) {\n input.focus();\n }\n }\n\n public disconnectedCallback() {\n this.destroyMDCChipSet();\n\n if (this.mdcTextField) {\n this.mdcTextField.destroy();\n }\n }\n\n public render() {\n if (this.type === 'input') {\n return this.renderInputChips();\n }\n\n const classes = {\n 'mdc-chip-set': true,\n disabled: this.disabled || this.readonly,\n 'mdc-text-field--with-trailing-icon': true,\n };\n if (this.type) {\n classes[`mdc-chip-set--${this.type}`] = true;\n }\n\n const chipSetLabel = this.renderChipSetLabel();\n if (chipSetLabel) {\n classes['chip-set--with-label'] = true;\n }\n\n return (\n <div class={classes} role=\"grid\">\n {chipSetLabel}\n {this.value.map(this.renderChip)}\n {this.renderHelperLine()}\n </div>\n );\n }\n\n @Watch('value')\n protected handleChangeChips(newValue: Chip[], oldValue: Chip[]) {\n if (isEqual(newValue, oldValue)) {\n return;\n }\n\n this.syncEmptyInput();\n }\n\n private createMDCChipSet() {\n this.mdcChipSet = new MDCChipSet(\n this.host.shadowRoot.querySelector('.mdc-chip-set'),\n );\n\n if (!this.type || this.type === 'input') {\n this.mdcChipSet.listen(\n 'MDCChip:interaction',\n this.handleInteractionEvent,\n );\n }\n\n if (this.type === 'choice' || this.type === 'filter') {\n this.mdcChipSet.listen('MDCChip:selection', this.handleSelection);\n }\n }\n\n private destroyMDCChipSet() {\n if (this.mdcChipSet) {\n this.mdcChipSet.unlisten(\n 'MDCChip:interaction',\n this.handleInteractionEvent,\n );\n this.mdcChipSet.unlisten('MDCChip:selection', this.handleSelection);\n\n this.mdcChipSet.destroy();\n }\n }\n\n private renderChipSetLabel() {\n if (!this.label) {\n return;\n }\n\n return (\n <label class=\"chip-set__label mdc-floating-label mdc-floating-label--float-above\">\n {this.label}\n </label>\n );\n }\n\n private renderInputChips() {\n return [\n <div\n class={{\n 'mdc-text-field mdc-text-field--outlined': true,\n 'mdc-chip-set mdc-chip-set--input': true,\n 'force-invalid': this.isInvalid(),\n 'mdc-text-field--disabled': this.readonly || this.disabled,\n 'lime-text-field--readonly': this.readonly,\n 'has-chips mdc-text-field--label-floating':\n this.value.length !== 0,\n 'has-leading-icon': this.leadingIcon !== null,\n 'has-clear-all-button': this.clearAllButton,\n }}\n onClick={this.handleTextFieldFocus}\n >\n {this.value.map(this.renderInputChip)}\n <input\n tabIndex={INPUT_FIELD_TABINDEX}\n type={this.inputType}\n id=\"input-element\"\n disabled={this.readonly || this.disabled}\n class={{\n 'mdc-text-field__input': true,\n hidden: this.inputHidden(),\n }}\n value={this.textValue}\n onBlur={this.handleInputBlur}\n onFocus={this.handleTextFieldFocus}\n onKeyDown={this.handleKeyDown}\n onInput={this.handleTextInput}\n // Some browsers emit a change event on input elements, we need to stop\n // that event from propagating since we are emitting our own change event\n onChange={this.inputFieldOnChange}\n placeholder={this.isFull() ? '' : this.searchLabel}\n readonly={this.isFull()}\n />\n <div\n class={{\n 'mdc-notched-outline': true,\n 'mdc-notched-outline--upgraded': true,\n 'mdc-text-field--required': this.required,\n 'lime-notched-outline--notched': this.floatLabelAbove(),\n }}\n dropzone-tip={this.dropZoneTip()}\n >\n <div class=\"mdc-notched-outline__leading\" />\n {this.renderLabel()}\n <div class=\"mdc-notched-outline__trailing\" />\n </div>\n {this.renderLeadingIcon()}\n {this.renderEmptyValueForReadonly()}\n {this.renderClearAllChipsButton()}\n </div>,\n this.renderHelperLine(),\n ];\n }\n\n private renderEmptyValueForReadonly = () => {\n if (this.readonly && this.value.length === 0) {\n return (\n <span class=\"lime-empty-value-for-readonly lime-looks-like-input-value\">\n –\n </span>\n );\n }\n };\n\n private renderLabel() {\n const labelClassList = {\n 'mdc-floating-label': true,\n 'mdc-text-field--disabled': this.readonly || this.disabled,\n 'mdc-floating-label--required': this.required,\n 'lime-floating-label--float-above': this.floatLabelAbove(),\n };\n\n if (!this.label) {\n return;\n }\n\n return (\n <div class=\"mdc-notched-outline__notch\">\n <label class={labelClassList} htmlFor=\"input-element\">\n {this.label}\n </label>\n </div>\n );\n }\n\n private floatLabelAbove = () => {\n if (!!this.value.length || this.editMode || this.readonly) {\n return true;\n }\n };\n\n private dropZoneTip = (): string => {\n return translate.get('file.drag-and-drop-tips', this.language);\n };\n\n private isFull(): boolean {\n return !!this.maxItems && this.value.length >= this.maxItems;\n }\n\n private isInvalid() {\n if (this.readonly) {\n // A readonly field can never be invalid.\n return false;\n }\n\n if (this.invalid) {\n return true;\n }\n\n if (!this.required) {\n return false;\n }\n\n if (!this.blurred) {\n return false;\n }\n\n return !this.value || !this.value.length;\n }\n\n private inputFieldOnChange(event) {\n event.stopPropagation();\n }\n\n /**\n * Enter edit mode when the text field receives focus. When editMode is true, the input element will be visible\n */\n private handleTextFieldFocus() {\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (this.editMode) {\n return;\n }\n\n this.editMode = true;\n this.startEdit.emit();\n }\n\n /**\n * Exit edit mode when the input element loses focus. This makes sure the input element does not take up any\n * additional space when the user it not typing anything\n */\n private handleInputBlur() {\n if (this.emptyInputOnBlur) {\n this.syncEmptyInput();\n }\n\n this.editMode = false;\n this.blurred = true;\n this.inputChipIndexSelected = null;\n\n // This timeout is needed in order to let a new element receive focus\n setTimeout(() => {\n this.stopEdit.emit();\n }, 0);\n }\n\n private syncEmptyInput() {\n this.textValue = '';\n }\n\n private inputHidden() {\n if (this.editMode) {\n return this.isFull();\n }\n\n // If there are chips in the picker, hide the input to avoid the input\n // being placed on a new line and adding ugly space beneath the chips.\n // If there are no chips, show the input, or the picker will look weird.\n return !!(this.value && this.value.length);\n }\n\n private handleTextInput(event) {\n event.stopPropagation();\n this.inputChipIndexSelected = null;\n this.textValue = event.target.value;\n this.input.emit(event.target.value && event.target.value.trim());\n }\n\n private handleInteractionEvent(event: MDCChipInteractionEvent) {\n const chip = this.value.find((item) => {\n return `${item.id}` === event.detail.chipId;\n });\n this.emitInteraction(chip);\n }\n\n private emitInteraction(chip: Chip) {\n this.interact.emit(chip);\n }\n\n private handleSelection(event: MDCChipSelectionEvent) {\n let chip = this.value.find((item) => {\n return `${item.id}` === event.detail.chipId;\n });\n chip = { ...chip, selected: event.detail.selected };\n this.change.emit(chip);\n }\n\n private removeChip(id: string | number) {\n const newValue = this.value.filter((chip) => {\n return `${chip.id}` !== `${id}`;\n });\n this.change.emit(newValue);\n }\n\n private renderChip(chip: Chip) {\n if (this.type === 'filter') {\n return this.renderFilterChip(chip);\n }\n\n return this.renderDefaultChip(chip);\n }\n\n private renderDefaultChip(chip: Chip) {\n return (\n <div\n class={`mdc-chip ${chip.selected ? SELECTED_CHIP_CLASS : ''}`}\n role=\"row\"\n id={`${chip.id}`}\n >\n {chip.icon ? this.renderChipIcon(chip) : null}\n {chip.text ? this.renderChipLabel(chip) : null}\n </div>\n );\n }\n\n private renderChipLabel(chip: Chip<any>) {\n const attributes: any = {};\n if (chip.href) {\n attributes.href = getHref(chip.href);\n attributes.target = getTarget(chip.href);\n }\n\n return (\n <span role=\"gridcell\">\n <a\n role=\"button\"\n tabindex={this.disabled ? '-1' : '0'}\n class=\"mdc-chip__text\"\n {...attributes}\n >\n {chip.text}\n </a>\n </span>\n );\n }\n\n private hasHelperText = () => {\n return this.helperText !== null && this.helperText !== undefined;\n };\n\n private renderHelperLine = () => {\n if (!this.maxItems && !this.hasHelperText()) {\n return;\n }\n\n return (\n <limel-helper-line\n length={this.value.length}\n maxLength={this.maxItems}\n helperText={this.helperText}\n invalid={this.isInvalid()}\n />\n );\n };\n\n private renderFilterChip(chip: Chip) {\n return (\n <div\n class={`mdc-chip ${chip.selected ? SELECTED_CHIP_CLASS : ''}`}\n role=\"row\"\n id={`${chip.id}`}\n >\n <span class=\"mdc-chip__checkmark\">\n <svg class=\"mdc-chip__checkmark-svg\" viewBox=\"-2 -3 30 30\">\n <path\n class=\"mdc-chip__checkmark-path\"\n fill=\"none\"\n stroke=\"currentColor\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"\n />\n </svg>\n </span>\n <span role=\"gridcell\">\n <span\n role=\"checkbox\"\n tabindex={this.disabled ? '-1' : '0'}\n aria-checked=\"false\"\n class=\"mdc-chip__text\"\n >\n {chip.text}\n </span>\n </span>\n {this.renderBadge(chip)}\n </div>\n );\n }\n\n private renderInputChip(chip: Chip, index: number) {\n return [\n <div\n class={{\n 'mdc-chip': true,\n 'mdc-chip--selected': this.inputChipIndexSelected === index,\n disabled: this.disabled,\n }}\n role=\"row\"\n id={`${chip.id}`}\n onClick={this.catchInputChipClicks}\n >\n {chip.icon ? this.renderChipIcon(chip) : null}\n {this.renderChipLabel(chip)}\n {this.renderChipRemoveButton(chip)}\n </div>,\n this.renderDelimiter(),\n ];\n }\n\n private catchInputChipClicks(event) {\n event.stopPropagation();\n }\n\n private renderChipIcon(chip: Chip) {\n const name = getIconName(chip.icon);\n const color = getIconColor(chip.icon, chip.iconFillColor);\n const backgroundColor = getIconBackgroundColor(\n chip.icon,\n chip.iconBackgroundColor,\n );\n const title = getIconTitle(chip.icon, chip.iconTitle);\n const style = {};\n if (color) {\n style['--icon-color'] = color;\n }\n\n if (backgroundColor) {\n style['--icon-background-color'] = backgroundColor;\n }\n\n return (\n <limel-icon\n class=\"mdc-chip__icon mdc-chip__icon--leading\"\n name={name}\n style={style}\n size=\"small\"\n badge={true}\n title={title}\n />\n );\n }\n\n private renderLeadingIcon() {\n if (!this.leadingIcon) {\n return;\n }\n\n return (\n <i class=\"mdc-text-field__icon search-icon\">\n <limel-icon name={this.leadingIcon} />\n </i>\n );\n }\n\n private renderChipRemoveButton(chip: Chip) {\n if (!chip.removable || this.readonly || this.disabled) {\n return;\n }\n\n const svgData = `<svg style=\"height:100%;width:100%;\" width=\"32\" height=\"32\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:svg=\"http://www.w3.org/2000/svg\">\n <line fill=\"none\" id=\"svg_1\" stroke=\"currentColor\" stroke-width=\"2\" x1=\"8\" x2=\"24\" y1=\"8\" y2=\"24\"/>\n <line fill=\"none\" id=\"svg_2\" stroke=\"currentColor\" stroke-width=\"2\" x1=\"24\" x2=\"8\" y1=\"8\" y2=\"24\"/>\n</svg>`;\n\n const removeFunc = (event: MouseEvent) => {\n event.stopPropagation();\n this.removeChip(chip.id);\n };\n\n return (\n <button\n class=\"mdc-chip__icon mdc-chip__icon--trailing mdc-deprecated-chip-trailing-action\"\n aria-label={this.removeChipLabel}\n tabindex=\"-1\"\n innerHTML={svgData}\n onClick={removeFunc}\n />\n );\n }\n\n private renderClearAllChipsButton() {\n if (this.disabled || this.readonly || !this.clearAllButton) {\n return;\n }\n\n return (\n <a\n href=\"\"\n onClick={this.handleDeleteAllIconClick}\n class=\"mdc-text-field__icon clear-all-button\"\n tabindex=\"0\"\n role=\"button\"\n title={this.clearAllChipsLabel()}\n aria-label={this.clearAllChipsLabel()}\n />\n );\n }\n\n private clearAllChipsLabel = (): string => {\n return translate.get('chip-set.clear-all', this.language);\n };\n\n private removeChipLabel = (): string => {\n return translate.get('chip-set.remove-chip', this.language);\n };\n\n private handleDeleteAllIconClick(event: Event) {\n event.preventDefault();\n this.change.emit([]);\n }\n\n private renderDelimiter() {\n if (!this.delimiter) {\n return;\n }\n\n return <div class=\"delimiter\">{this.delimiter}</div>;\n }\n\n private renderBadge(chip: Chip) {\n if (!chip.badge) {\n return;\n }\n\n return <limel-badge label={chip.badge} />;\n }\n\n private triggerIconColorWarning(value: Chip[]) {\n for (const chip of value) {\n if (\n chip.icon &&\n (chip.iconFillColor ||\n chip.iconBackgroundColor ||\n chip.iconTitle)\n ) {\n /* eslint-disable-next-line no-console */\n console.warn(\n \"The `iconFillColor`, `iconBackgroundColor`, and `iconTitle` props are deprecated now! Use the new `Icon` interface and instead of `iconColor: 'color-name', `iconBackgroundColor: 'color-name', and `iconTitle: 'title'`, write `icon { name: 'icon-name', color: 'color-name', backgroundColor: 'color-name', title: 'title' }`.\",\n );\n }\n }\n }\n}\n"],"version":3}
1
+ {"file":"limel-chip-set.entry.cjs.js","mappings":"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","names":["strings","__extends","__assign","normalizeKey","isNavigationEvent","KEY","MDCFoundation","MDCRipple","MDCRippleFoundation","MDCComponent","cssClasses","trailingActionStrings","chipStrings","__values","ARROW_LEFT","ARROW_LEFT_KEY_CODE","ARROW_RIGHT","ARROW_RIGHT_KEY_CODE","ENTER","ENTER_KEY_CODE","DELETE","DELETE_KEY_CODE","BACKSPACE","BACKSPACE_KEY_CODE","ESCAPE","ESCAPE_KEY_CODE","h","translate","MDCTextField","isEqual","getHref","getTarget","index","getIconName","getIconColor","getIconBackgroundColor","getIconTitle"],"sources":["./node_modules/@material/chips/deprecated/trailingaction/constants.js","./node_modules/@material/chips/deprecated/trailingaction/foundation.js","./node_modules/@material/chips/deprecated/trailingaction/component.js","./node_modules/@material/chips/deprecated/chip/constants.js","./node_modules/@material/chips/deprecated/chip/foundation.js","./node_modules/@material/chips/deprecated/chip/component.js","./node_modules/@material/dom/announce.js","./node_modules/@material/chips/deprecated/chip-set/constants.js","./node_modules/@material/chips/deprecated/chip-set/foundation.js","./node_modules/@material/chips/deprecated/chip-set/component.js","./src/components/chip-set/chip-set-input-helpers.ts","./src/components/chip-set/chip-set.scss?tag=limel-chip-set&encapsulation=shadow","./src/components/chip-set/chip-set.tsx"],"sourcesContent":["/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nexport var InteractionTrigger;\n(function (InteractionTrigger) {\n InteractionTrigger[InteractionTrigger[\"UNSPECIFIED\"] = 0] = \"UNSPECIFIED\";\n InteractionTrigger[InteractionTrigger[\"CLICK\"] = 1] = \"CLICK\";\n InteractionTrigger[InteractionTrigger[\"BACKSPACE_KEY\"] = 2] = \"BACKSPACE_KEY\";\n InteractionTrigger[InteractionTrigger[\"DELETE_KEY\"] = 3] = \"DELETE_KEY\";\n InteractionTrigger[InteractionTrigger[\"SPACEBAR_KEY\"] = 4] = \"SPACEBAR_KEY\";\n InteractionTrigger[InteractionTrigger[\"ENTER_KEY\"] = 5] = \"ENTER_KEY\";\n})(InteractionTrigger || (InteractionTrigger = {}));\nexport var strings = {\n ARIA_HIDDEN: 'aria-hidden',\n INTERACTION_EVENT: 'MDCChipTrailingAction:interaction',\n NAVIGATION_EVENT: 'MDCChipTrailingAction:navigation',\n TAB_INDEX: 'tabindex',\n};\n//# sourceMappingURL=constants.js.map","/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __assign, __extends } from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { isNavigationEvent, KEY, normalizeKey } from '@material/dom/keyboard';\nimport { InteractionTrigger, strings } from './constants';\nvar MDCChipTrailingActionFoundation = /** @class */ (function (_super) {\n __extends(MDCChipTrailingActionFoundation, _super);\n function MDCChipTrailingActionFoundation(adapter) {\n return _super.call(this, __assign(__assign({}, MDCChipTrailingActionFoundation.defaultAdapter), adapter)) || this;\n }\n Object.defineProperty(MDCChipTrailingActionFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChipTrailingActionFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n focus: function () { return undefined; },\n getAttribute: function () { return null; },\n setAttribute: function () { return undefined; },\n notifyInteraction: function () { return undefined; },\n notifyNavigation: function () { return undefined; },\n };\n },\n enumerable: false,\n configurable: true\n });\n MDCChipTrailingActionFoundation.prototype.handleClick = function (evt) {\n evt.stopPropagation();\n this.adapter.notifyInteraction(InteractionTrigger.CLICK);\n };\n MDCChipTrailingActionFoundation.prototype.handleKeydown = function (evt) {\n evt.stopPropagation();\n var key = normalizeKey(evt);\n if (this.shouldNotifyInteractionFromKey(key)) {\n var trigger = this.getTriggerFromKey(key);\n this.adapter.notifyInteraction(trigger);\n return;\n }\n if (isNavigationEvent(evt)) {\n this.adapter.notifyNavigation(key);\n return;\n }\n };\n MDCChipTrailingActionFoundation.prototype.removeFocus = function () {\n this.adapter.setAttribute(strings.TAB_INDEX, '-1');\n };\n MDCChipTrailingActionFoundation.prototype.focus = function () {\n this.adapter.setAttribute(strings.TAB_INDEX, '0');\n this.adapter.focus();\n };\n MDCChipTrailingActionFoundation.prototype.isNavigable = function () {\n return this.adapter.getAttribute(strings.ARIA_HIDDEN) !== 'true';\n };\n MDCChipTrailingActionFoundation.prototype.shouldNotifyInteractionFromKey = function (key) {\n var isFromActionKey = key === KEY.ENTER || key === KEY.SPACEBAR;\n var isFromDeleteKey = key === KEY.BACKSPACE || key === KEY.DELETE;\n return isFromActionKey || isFromDeleteKey;\n };\n MDCChipTrailingActionFoundation.prototype.getTriggerFromKey = function (key) {\n if (key === KEY.SPACEBAR) {\n return InteractionTrigger.SPACEBAR_KEY;\n }\n if (key === KEY.ENTER) {\n return InteractionTrigger.ENTER_KEY;\n }\n if (key === KEY.DELETE) {\n return InteractionTrigger.DELETE_KEY;\n }\n if (key === KEY.BACKSPACE) {\n return InteractionTrigger.BACKSPACE_KEY;\n }\n // Default case, should never be returned\n return InteractionTrigger.UNSPECIFIED;\n };\n return MDCChipTrailingActionFoundation;\n}(MDCFoundation));\nexport { MDCChipTrailingActionFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCChipTrailingActionFoundation;\n//# sourceMappingURL=foundation.js.map","/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __extends } from \"tslib\";\nimport { MDCComponent } from '@material/base/component';\nimport { MDCRipple } from '@material/ripple/component';\nimport { MDCRippleFoundation } from '@material/ripple/foundation';\nimport { strings } from './constants';\nimport { MDCChipTrailingActionFoundation } from './foundation';\nvar MDCChipTrailingAction = /** @class */ (function (_super) {\n __extends(MDCChipTrailingAction, _super);\n function MDCChipTrailingAction() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(MDCChipTrailingAction.prototype, \"ripple\", {\n get: function () {\n return this.rippleSurface;\n },\n enumerable: false,\n configurable: true\n });\n MDCChipTrailingAction.attachTo = function (root) {\n return new MDCChipTrailingAction(root);\n };\n MDCChipTrailingAction.prototype.initialize = function (rippleFactory) {\n if (rippleFactory === void 0) { rippleFactory = function (el, foundation) {\n return new MDCRipple(el, foundation);\n }; }\n // DO NOT INLINE this variable. For backward compatibility, foundations take\n // a Partial<MDCFooAdapter>. To ensure we don't accidentally omit any\n // methods, we need a separate, strongly typed adapter variable.\n var rippleAdapter = MDCRipple.createAdapter(this);\n this.rippleSurface =\n rippleFactory(this.root, new MDCRippleFoundation(rippleAdapter));\n };\n MDCChipTrailingAction.prototype.initialSyncWithDOM = function () {\n var _this = this;\n this.handleClick = function (evt) {\n _this.foundation.handleClick(evt);\n };\n this.handleKeydown = function (evt) {\n _this.foundation.handleKeydown(evt);\n };\n this.listen('click', this.handleClick);\n this.listen('keydown', this.handleKeydown);\n };\n MDCChipTrailingAction.prototype.destroy = function () {\n this.rippleSurface.destroy();\n this.unlisten('click', this.handleClick);\n this.unlisten('keydown', this.handleKeydown);\n _super.prototype.destroy.call(this);\n };\n MDCChipTrailingAction.prototype.getDefaultFoundation = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take\n // a Partial<MDCFooAdapter>. To ensure we don't accidentally omit any\n // methods, we need a separate, strongly typed adapter variable.\n var adapter = {\n focus: function () {\n // TODO(b/157231863): Migate MDCComponent#root to HTMLElement\n _this.root.focus();\n },\n getAttribute: function (attr) { return _this.root.getAttribute(attr); },\n notifyInteraction: function (trigger) {\n return _this.emit(strings.INTERACTION_EVENT, { trigger: trigger }, true /* shouldBubble */);\n },\n notifyNavigation: function (key) {\n _this.emit(strings.NAVIGATION_EVENT, { key: key }, true /* shouldBubble */);\n },\n setAttribute: function (attr, value) {\n _this.root.setAttribute(attr, value);\n },\n };\n return new MDCChipTrailingActionFoundation(adapter);\n };\n MDCChipTrailingAction.prototype.isNavigable = function () {\n return this.foundation.isNavigable();\n };\n MDCChipTrailingAction.prototype.focus = function () {\n this.foundation.focus();\n };\n MDCChipTrailingAction.prototype.removeFocus = function () {\n this.foundation.removeFocus();\n };\n return MDCChipTrailingAction;\n}(MDCComponent));\nexport { MDCChipTrailingAction };\n//# sourceMappingURL=component.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nexport var Direction;\n(function (Direction) {\n Direction[\"LEFT\"] = \"left\";\n Direction[\"RIGHT\"] = \"right\";\n})(Direction || (Direction = {}));\nexport var EventSource;\n(function (EventSource) {\n EventSource[\"PRIMARY\"] = \"primary\";\n EventSource[\"TRAILING\"] = \"trailing\";\n EventSource[\"NONE\"] = \"none\";\n})(EventSource || (EventSource = {}));\nexport var strings = {\n ADDED_ANNOUNCEMENT_ATTRIBUTE: 'data-mdc-chip-added-announcement',\n ARIA_CHECKED: 'aria-checked',\n ARROW_DOWN_KEY: 'ArrowDown',\n ARROW_LEFT_KEY: 'ArrowLeft',\n ARROW_RIGHT_KEY: 'ArrowRight',\n ARROW_UP_KEY: 'ArrowUp',\n BACKSPACE_KEY: 'Backspace',\n CHECKMARK_SELECTOR: '.mdc-chip__checkmark',\n DELETE_KEY: 'Delete',\n END_KEY: 'End',\n ENTER_KEY: 'Enter',\n ENTRY_ANIMATION_NAME: 'mdc-chip-entry',\n HOME_KEY: 'Home',\n IE_ARROW_DOWN_KEY: 'Down',\n IE_ARROW_LEFT_KEY: 'Left',\n IE_ARROW_RIGHT_KEY: 'Right',\n IE_ARROW_UP_KEY: 'Up',\n IE_DELETE_KEY: 'Del',\n INTERACTION_EVENT: 'MDCChip:interaction',\n LEADING_ICON_SELECTOR: '.mdc-chip__icon--leading',\n NAVIGATION_EVENT: 'MDCChip:navigation',\n PRIMARY_ACTION_SELECTOR: '.mdc-chip__primary-action',\n REMOVED_ANNOUNCEMENT_ATTRIBUTE: 'data-mdc-chip-removed-announcement',\n REMOVAL_EVENT: 'MDCChip:removal',\n SELECTION_EVENT: 'MDCChip:selection',\n SPACEBAR_KEY: ' ',\n TAB_INDEX: 'tabindex',\n TRAILING_ACTION_SELECTOR: '.mdc-chip-trailing-action',\n TRAILING_ICON_INTERACTION_EVENT: 'MDCChip:trailingIconInteraction',\n TRAILING_ICON_SELECTOR: '.mdc-chip__icon--trailing',\n};\nexport var cssClasses = {\n CHECKMARK: 'mdc-chip__checkmark',\n CHIP_EXIT: 'mdc-chip--exit',\n DELETABLE: 'mdc-chip--deletable',\n EDITABLE: 'mdc-chip--editable',\n EDITING: 'mdc-chip--editing',\n HIDDEN_LEADING_ICON: 'mdc-chip__icon--leading-hidden',\n LEADING_ICON: 'mdc-chip__icon--leading',\n PRIMARY_ACTION: 'mdc-chip__primary-action',\n PRIMARY_ACTION_FOCUSED: 'mdc-chip--primary-action-focused',\n SELECTED: 'mdc-chip--selected',\n TEXT: 'mdc-chip__text',\n TRAILING_ACTION: 'mdc-chip__trailing-action',\n TRAILING_ICON: 'mdc-chip__icon--trailing',\n};\nexport var navigationKeys = new Set();\n// IE11 has no support for new Set with iterable so we need to initialize this by hand\nnavigationKeys.add(strings.ARROW_LEFT_KEY);\nnavigationKeys.add(strings.ARROW_RIGHT_KEY);\nnavigationKeys.add(strings.ARROW_DOWN_KEY);\nnavigationKeys.add(strings.ARROW_UP_KEY);\nnavigationKeys.add(strings.END_KEY);\nnavigationKeys.add(strings.HOME_KEY);\nnavigationKeys.add(strings.IE_ARROW_LEFT_KEY);\nnavigationKeys.add(strings.IE_ARROW_RIGHT_KEY);\nnavigationKeys.add(strings.IE_ARROW_DOWN_KEY);\nnavigationKeys.add(strings.IE_ARROW_UP_KEY);\nexport var jumpChipKeys = new Set();\n// IE11 has no support for new Set with iterable so we need to initialize this by hand\njumpChipKeys.add(strings.ARROW_UP_KEY);\njumpChipKeys.add(strings.ARROW_DOWN_KEY);\njumpChipKeys.add(strings.HOME_KEY);\njumpChipKeys.add(strings.END_KEY);\njumpChipKeys.add(strings.IE_ARROW_UP_KEY);\njumpChipKeys.add(strings.IE_ARROW_DOWN_KEY);\n//# sourceMappingURL=constants.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __assign, __extends } from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { cssClasses, Direction, EventSource, jumpChipKeys, navigationKeys, strings } from './constants';\nvar emptyClientRect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n};\nvar FocusBehavior;\n(function (FocusBehavior) {\n FocusBehavior[FocusBehavior[\"SHOULD_FOCUS\"] = 0] = \"SHOULD_FOCUS\";\n FocusBehavior[FocusBehavior[\"SHOULD_NOT_FOCUS\"] = 1] = \"SHOULD_NOT_FOCUS\";\n})(FocusBehavior || (FocusBehavior = {}));\nvar MDCChipFoundation = /** @class */ (function (_super) {\n __extends(MDCChipFoundation, _super);\n function MDCChipFoundation(adapter) {\n var _this = _super.call(this, __assign(__assign({}, MDCChipFoundation.defaultAdapter), adapter)) || this;\n /** Whether a trailing icon click should immediately trigger exit/removal of the chip. */\n _this.shouldRemoveOnTrailingIconClick = true;\n /**\n * Whether the primary action should receive focus on click. Should only be\n * set to true for clients who programmatically give focus to a different\n * element on the page when a chip is clicked (like a menu).\n */\n _this.shouldFocusPrimaryActionOnClick = true;\n return _this;\n }\n Object.defineProperty(MDCChipFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChipFoundation, \"cssClasses\", {\n get: function () {\n return cssClasses;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChipFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n addClass: function () { return undefined; },\n addClassToLeadingIcon: function () { return undefined; },\n eventTargetHasClass: function () { return false; },\n focusPrimaryAction: function () { return undefined; },\n focusTrailingAction: function () { return undefined; },\n getAttribute: function () { return null; },\n getCheckmarkBoundingClientRect: function () { return emptyClientRect; },\n getComputedStyleValue: function () { return ''; },\n getRootBoundingClientRect: function () { return emptyClientRect; },\n hasClass: function () { return false; },\n hasLeadingIcon: function () { return false; },\n isRTL: function () { return false; },\n isTrailingActionNavigable: function () { return false; },\n notifyEditFinish: function () { return undefined; },\n notifyEditStart: function () { return undefined; },\n notifyInteraction: function () { return undefined; },\n notifyNavigation: function () { return undefined; },\n notifyRemoval: function () { return undefined; },\n notifySelection: function () { return undefined; },\n notifyTrailingIconInteraction: function () { return undefined; },\n removeClass: function () { return undefined; },\n removeClassFromLeadingIcon: function () { return undefined; },\n removeTrailingActionFocus: function () { return undefined; },\n setPrimaryActionAttr: function () { return undefined; },\n setStyleProperty: function () { return undefined; },\n };\n },\n enumerable: false,\n configurable: true\n });\n MDCChipFoundation.prototype.isSelected = function () {\n return this.adapter.hasClass(cssClasses.SELECTED);\n };\n MDCChipFoundation.prototype.isEditable = function () {\n return this.adapter.hasClass(cssClasses.EDITABLE);\n };\n MDCChipFoundation.prototype.isEditing = function () {\n return this.adapter.hasClass(cssClasses.EDITING);\n };\n MDCChipFoundation.prototype.setSelected = function (selected) {\n this.setSelectedImpl(selected);\n this.notifySelection(selected);\n };\n MDCChipFoundation.prototype.setSelectedFromChipSet = function (selected, shouldNotifyClients) {\n this.setSelectedImpl(selected);\n if (shouldNotifyClients) {\n this.notifyIgnoredSelection(selected);\n }\n };\n MDCChipFoundation.prototype.getShouldRemoveOnTrailingIconClick = function () {\n return this.shouldRemoveOnTrailingIconClick;\n };\n MDCChipFoundation.prototype.setShouldRemoveOnTrailingIconClick = function (shouldRemove) {\n this.shouldRemoveOnTrailingIconClick = shouldRemove;\n };\n MDCChipFoundation.prototype.setShouldFocusPrimaryActionOnClick = function (shouldFocus) {\n this.shouldFocusPrimaryActionOnClick = shouldFocus;\n };\n MDCChipFoundation.prototype.getDimensions = function () {\n var _this = this;\n var getRootRect = function () { return _this.adapter.getRootBoundingClientRect(); };\n var getCheckmarkRect = function () {\n return _this.adapter.getCheckmarkBoundingClientRect();\n };\n // When a chip has a checkmark and not a leading icon, the bounding rect changes in size depending on the current\n // size of the checkmark.\n if (!this.adapter.hasLeadingIcon()) {\n var checkmarkRect = getCheckmarkRect();\n if (checkmarkRect) {\n var rootRect = getRootRect();\n // Checkmark is a square, meaning the client rect's width and height are identical once the animation completes.\n // However, the checkbox is initially hidden by setting the width to 0.\n // To account for an initial width of 0, we use the checkbox's height instead (which equals the end-state width)\n // when adding it to the root client rect's width.\n return {\n bottom: rootRect.bottom,\n height: rootRect.height,\n left: rootRect.left,\n right: rootRect.right,\n top: rootRect.top,\n width: rootRect.width + checkmarkRect.height,\n };\n }\n }\n return getRootRect();\n };\n /**\n * Begins the exit animation which leads to removal of the chip.\n */\n MDCChipFoundation.prototype.beginExit = function () {\n this.adapter.addClass(cssClasses.CHIP_EXIT);\n };\n MDCChipFoundation.prototype.handleClick = function () {\n this.adapter.notifyInteraction();\n this.setPrimaryActionFocusable(this.getFocusBehavior());\n };\n MDCChipFoundation.prototype.handleDoubleClick = function () {\n if (this.isEditable()) {\n this.startEditing();\n }\n };\n /**\n * Handles a transition end event on the root element.\n */\n MDCChipFoundation.prototype.handleTransitionEnd = function (evt) {\n var _this = this;\n // Handle transition end event on the chip when it is about to be removed.\n var shouldHandle = this.adapter.eventTargetHasClass(evt.target, cssClasses.CHIP_EXIT);\n var widthIsAnimating = evt.propertyName === 'width';\n var opacityIsAnimating = evt.propertyName === 'opacity';\n if (shouldHandle && opacityIsAnimating) {\n // See: https://css-tricks.com/using-css-transitions-auto-dimensions/#article-header-id-5\n var chipWidth_1 = this.adapter.getComputedStyleValue('width');\n // On the next frame (once we get the computed width), explicitly set the chip's width\n // to its current pixel width, so we aren't transitioning out of 'auto'.\n requestAnimationFrame(function () {\n _this.adapter.setStyleProperty('width', chipWidth_1);\n // To mitigate jitter, start transitioning padding and margin before width.\n _this.adapter.setStyleProperty('padding', '0');\n _this.adapter.setStyleProperty('margin', '0');\n // On the next frame (once width is explicitly set), transition width to 0.\n requestAnimationFrame(function () {\n _this.adapter.setStyleProperty('width', '0');\n });\n });\n return;\n }\n if (shouldHandle && widthIsAnimating) {\n this.removeFocus();\n var removedAnnouncement = this.adapter.getAttribute(strings.REMOVED_ANNOUNCEMENT_ATTRIBUTE);\n this.adapter.notifyRemoval(removedAnnouncement);\n }\n // Handle a transition end event on the leading icon or checkmark, since the transition end event bubbles.\n if (!opacityIsAnimating) {\n return;\n }\n var shouldHideLeadingIcon = this.adapter.eventTargetHasClass(evt.target, cssClasses.LEADING_ICON) &&\n this.adapter.hasClass(cssClasses.SELECTED);\n var shouldShowLeadingIcon = this.adapter.eventTargetHasClass(evt.target, cssClasses.CHECKMARK) &&\n !this.adapter.hasClass(cssClasses.SELECTED);\n if (shouldHideLeadingIcon) {\n this.adapter.addClassToLeadingIcon(cssClasses.HIDDEN_LEADING_ICON);\n return;\n }\n if (shouldShowLeadingIcon) {\n this.adapter.removeClassFromLeadingIcon(cssClasses.HIDDEN_LEADING_ICON);\n return;\n }\n };\n MDCChipFoundation.prototype.handleFocusIn = function (evt) {\n // Early exit if the event doesn't come from the primary action\n if (!this.eventFromPrimaryAction(evt)) {\n return;\n }\n this.adapter.addClass(cssClasses.PRIMARY_ACTION_FOCUSED);\n };\n MDCChipFoundation.prototype.handleFocusOut = function (evt) {\n // Early exit if the event doesn't come from the primary action\n if (!this.eventFromPrimaryAction(evt)) {\n return;\n }\n if (this.isEditing()) {\n this.finishEditing();\n }\n this.adapter.removeClass(cssClasses.PRIMARY_ACTION_FOCUSED);\n };\n /**\n * Handles an interaction event on the trailing icon element. This is used to\n * prevent the ripple from activating on interaction with the trailing icon.\n */\n MDCChipFoundation.prototype.handleTrailingActionInteraction = function () {\n this.adapter.notifyTrailingIconInteraction();\n this.removeChip();\n };\n /**\n * Handles a keydown event from the root element.\n */\n MDCChipFoundation.prototype.handleKeydown = function (evt) {\n if (this.isEditing()) {\n if (this.shouldFinishEditing(evt)) {\n evt.preventDefault();\n this.finishEditing();\n }\n // When editing, the foundation should only handle key events that finish\n // the editing process.\n return;\n }\n if (this.isEditable()) {\n if (this.shouldStartEditing(evt)) {\n evt.preventDefault();\n this.startEditing();\n }\n }\n if (this.shouldNotifyInteraction(evt)) {\n this.adapter.notifyInteraction();\n this.setPrimaryActionFocusable(this.getFocusBehavior());\n return;\n }\n if (this.isDeleteAction(evt)) {\n evt.preventDefault();\n this.removeChip();\n return;\n }\n // Early exit if the key is not usable\n if (!navigationKeys.has(evt.key)) {\n return;\n }\n // Prevent default behavior for movement keys which could include scrolling\n evt.preventDefault();\n this.focusNextAction(evt.key, EventSource.PRIMARY);\n };\n MDCChipFoundation.prototype.handleTrailingActionNavigation = function (evt) {\n this.focusNextAction(evt.detail.key, EventSource.TRAILING);\n };\n /**\n * Called by the chip set to remove focus from the chip actions.\n */\n MDCChipFoundation.prototype.removeFocus = function () {\n this.adapter.setPrimaryActionAttr(strings.TAB_INDEX, '-1');\n this.adapter.removeTrailingActionFocus();\n };\n /**\n * Called by the chip set to focus the primary action.\n *\n */\n MDCChipFoundation.prototype.focusPrimaryAction = function () {\n this.setPrimaryActionFocusable(FocusBehavior.SHOULD_FOCUS);\n };\n /**\n * Called by the chip set to focus the trailing action (if present), otherwise\n * gives focus to the trailing action.\n */\n MDCChipFoundation.prototype.focusTrailingAction = function () {\n var trailingActionIsNavigable = this.adapter.isTrailingActionNavigable();\n if (trailingActionIsNavigable) {\n this.adapter.setPrimaryActionAttr(strings.TAB_INDEX, '-1');\n this.adapter.focusTrailingAction();\n return;\n }\n this.focusPrimaryAction();\n };\n MDCChipFoundation.prototype.setPrimaryActionFocusable = function (focusBehavior) {\n this.adapter.setPrimaryActionAttr(strings.TAB_INDEX, '0');\n if (focusBehavior === FocusBehavior.SHOULD_FOCUS) {\n this.adapter.focusPrimaryAction();\n }\n this.adapter.removeTrailingActionFocus();\n };\n MDCChipFoundation.prototype.getFocusBehavior = function () {\n if (this.shouldFocusPrimaryActionOnClick) {\n return FocusBehavior.SHOULD_FOCUS;\n }\n return FocusBehavior.SHOULD_NOT_FOCUS;\n };\n MDCChipFoundation.prototype.focusNextAction = function (key, source) {\n var isTrailingActionNavigable = this.adapter.isTrailingActionNavigable();\n var dir = this.getDirection(key);\n // Early exit if the key should jump chips\n if (jumpChipKeys.has(key) || !isTrailingActionNavigable) {\n this.adapter.notifyNavigation(key, source);\n return;\n }\n if (source === EventSource.PRIMARY && dir === Direction.RIGHT) {\n this.focusTrailingAction();\n return;\n }\n if (source === EventSource.TRAILING && dir === Direction.LEFT) {\n this.focusPrimaryAction();\n return;\n }\n this.adapter.notifyNavigation(key, EventSource.NONE);\n };\n MDCChipFoundation.prototype.getDirection = function (key) {\n var isRTL = this.adapter.isRTL();\n var isLeftKey = key === strings.ARROW_LEFT_KEY || key === strings.IE_ARROW_LEFT_KEY;\n var isRightKey = key === strings.ARROW_RIGHT_KEY || key === strings.IE_ARROW_RIGHT_KEY;\n if (!isRTL && isLeftKey || isRTL && isRightKey) {\n return Direction.LEFT;\n }\n return Direction.RIGHT;\n };\n MDCChipFoundation.prototype.removeChip = function () {\n if (this.shouldRemoveOnTrailingIconClick) {\n this.beginExit();\n }\n };\n MDCChipFoundation.prototype.shouldStartEditing = function (evt) {\n return this.eventFromPrimaryAction(evt) && evt.key === strings.ENTER_KEY;\n };\n MDCChipFoundation.prototype.shouldFinishEditing = function (evt) {\n return evt.key === strings.ENTER_KEY;\n };\n MDCChipFoundation.prototype.shouldNotifyInteraction = function (evt) {\n return evt.key === strings.ENTER_KEY || evt.key === strings.SPACEBAR_KEY;\n };\n MDCChipFoundation.prototype.isDeleteAction = function (evt) {\n var isDeletable = this.adapter.hasClass(cssClasses.DELETABLE);\n return isDeletable &&\n (evt.key === strings.BACKSPACE_KEY || evt.key === strings.DELETE_KEY ||\n evt.key === strings.IE_DELETE_KEY);\n };\n MDCChipFoundation.prototype.setSelectedImpl = function (selected) {\n if (selected) {\n this.adapter.addClass(cssClasses.SELECTED);\n this.adapter.setPrimaryActionAttr(strings.ARIA_CHECKED, 'true');\n }\n else {\n this.adapter.removeClass(cssClasses.SELECTED);\n this.adapter.setPrimaryActionAttr(strings.ARIA_CHECKED, 'false');\n }\n };\n MDCChipFoundation.prototype.notifySelection = function (selected) {\n this.adapter.notifySelection(selected, false);\n };\n MDCChipFoundation.prototype.notifyIgnoredSelection = function (selected) {\n this.adapter.notifySelection(selected, true);\n };\n MDCChipFoundation.prototype.eventFromPrimaryAction = function (evt) {\n return this.adapter.eventTargetHasClass(evt.target, cssClasses.PRIMARY_ACTION);\n };\n MDCChipFoundation.prototype.startEditing = function () {\n this.adapter.addClass(cssClasses.EDITING);\n this.adapter.notifyEditStart();\n };\n MDCChipFoundation.prototype.finishEditing = function () {\n this.adapter.removeClass(cssClasses.EDITING);\n this.adapter.notifyEditFinish();\n };\n return MDCChipFoundation;\n}(MDCFoundation));\nexport { MDCChipFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCChipFoundation;\n//# sourceMappingURL=foundation.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __assign, __extends } from \"tslib\";\nimport { MDCComponent } from '@material/base/component';\nimport { MDCRipple } from '@material/ripple/component';\nimport { MDCRippleFoundation } from '@material/ripple/foundation';\nimport { MDCChipTrailingAction } from '../trailingaction/component';\nimport { strings as trailingActionStrings } from '../trailingaction/constants';\nimport { strings } from './constants';\nimport { MDCChipFoundation } from './foundation';\nvar MDCChip = /** @class */ (function (_super) {\n __extends(MDCChip, _super);\n function MDCChip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(MDCChip.prototype, \"selected\", {\n /**\n * @return Whether the chip is selected.\n */\n get: function () {\n return this.foundation.isSelected();\n },\n /**\n * Sets selected state on the chip.\n */\n set: function (selected) {\n this.foundation.setSelected(selected);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChip.prototype, \"shouldRemoveOnTrailingIconClick\", {\n /**\n * @return Whether a trailing icon click should trigger exit/removal of the chip.\n */\n get: function () {\n return this.foundation.getShouldRemoveOnTrailingIconClick();\n },\n /**\n * Sets whether a trailing icon click should trigger exit/removal of the chip.\n */\n set: function (shouldRemove) {\n this.foundation.setShouldRemoveOnTrailingIconClick(shouldRemove);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChip.prototype, \"setShouldFocusPrimaryActionOnClick\", {\n /**\n * Sets whether a clicking on the chip should focus the primary action.\n */\n set: function (shouldFocus) {\n this.foundation.setShouldFocusPrimaryActionOnClick(shouldFocus);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChip.prototype, \"ripple\", {\n get: function () {\n return this.rippleSurface;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChip.prototype, \"id\", {\n get: function () {\n return this.root.id;\n },\n enumerable: false,\n configurable: true\n });\n MDCChip.attachTo = function (root) {\n return new MDCChip(root);\n };\n MDCChip.prototype.initialize = function (rippleFactory, trailingActionFactory) {\n var _this = this;\n if (rippleFactory === void 0) { rippleFactory = function (el, foundation) { return new MDCRipple(el, foundation); }; }\n if (trailingActionFactory === void 0) { trailingActionFactory = function (el) { return new MDCChipTrailingAction(el); }; }\n this.leadingIcon = this.root.querySelector(strings.LEADING_ICON_SELECTOR);\n this.checkmark = this.root.querySelector(strings.CHECKMARK_SELECTOR);\n this.primaryAction =\n this.root.querySelector(strings.PRIMARY_ACTION_SELECTOR);\n var trailingActionEl = this.root.querySelector(strings.TRAILING_ACTION_SELECTOR);\n if (trailingActionEl) {\n this.trailingAction = trailingActionFactory(trailingActionEl);\n }\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n var rippleAdapter = __assign(__assign({}, MDCRipple.createAdapter(this)), { computeBoundingRect: function () { return _this.foundation.getDimensions(); } });\n this.rippleSurface =\n rippleFactory(this.root, new MDCRippleFoundation(rippleAdapter));\n };\n MDCChip.prototype.initialSyncWithDOM = function () {\n var _this = this;\n // Custom events\n this.handleTrailingActionInteraction = function () {\n _this.foundation.handleTrailingActionInteraction();\n };\n this.handleTrailingActionNavigation =\n function (evt) {\n _this.foundation.handleTrailingActionNavigation(evt);\n };\n // Native events\n this.handleClick = function () {\n _this.foundation.handleClick();\n };\n this.handleKeydown = function (evt) {\n _this.foundation.handleKeydown(evt);\n };\n this.handleTransitionEnd = function (evt) {\n _this.foundation.handleTransitionEnd(evt);\n };\n this.handleFocusIn = function (evt) {\n _this.foundation.handleFocusIn(evt);\n };\n this.handleFocusOut = function (evt) {\n _this.foundation.handleFocusOut(evt);\n };\n this.listen('transitionend', this.handleTransitionEnd);\n this.listen('click', this.handleClick);\n this.listen('keydown', this.handleKeydown);\n this.listen('focusin', this.handleFocusIn);\n this.listen('focusout', this.handleFocusOut);\n if (this.trailingAction) {\n this.listen(trailingActionStrings.INTERACTION_EVENT, this.handleTrailingActionInteraction);\n this.listen(trailingActionStrings.NAVIGATION_EVENT, this.handleTrailingActionNavigation);\n }\n };\n MDCChip.prototype.destroy = function () {\n this.rippleSurface.destroy();\n this.unlisten('transitionend', this.handleTransitionEnd);\n this.unlisten('keydown', this.handleKeydown);\n this.unlisten('click', this.handleClick);\n this.unlisten('focusin', this.handleFocusIn);\n this.unlisten('focusout', this.handleFocusOut);\n if (this.trailingAction) {\n this.unlisten(trailingActionStrings.INTERACTION_EVENT, this.handleTrailingActionInteraction);\n this.unlisten(trailingActionStrings.NAVIGATION_EVENT, this.handleTrailingActionNavigation);\n }\n _super.prototype.destroy.call(this);\n };\n /**\n * Begins the exit animation which leads to removal of the chip.\n */\n MDCChip.prototype.beginExit = function () {\n this.foundation.beginExit();\n };\n MDCChip.prototype.getDefaultFoundation = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n var adapter = {\n addClass: function (className) { return _this.root.classList.add(className); },\n addClassToLeadingIcon: function (className) {\n if (_this.leadingIcon) {\n _this.leadingIcon.classList.add(className);\n }\n },\n eventTargetHasClass: function (target, className) {\n return target ? target.classList.contains(className) : false;\n },\n focusPrimaryAction: function () {\n if (_this.primaryAction) {\n _this.primaryAction.focus();\n }\n },\n focusTrailingAction: function () {\n if (_this.trailingAction) {\n _this.trailingAction.focus();\n }\n },\n getAttribute: function (attr) { return _this.root.getAttribute(attr); },\n getCheckmarkBoundingClientRect: function () {\n return _this.checkmark ? _this.checkmark.getBoundingClientRect() : null;\n },\n getComputedStyleValue: function (propertyName) {\n return window.getComputedStyle(_this.root).getPropertyValue(propertyName);\n },\n getRootBoundingClientRect: function () { return _this.root.getBoundingClientRect(); },\n hasClass: function (className) { return _this.root.classList.contains(className); },\n hasLeadingIcon: function () { return !!_this.leadingIcon; },\n isRTL: function () { return window.getComputedStyle(_this.root).getPropertyValue('direction') === 'rtl'; },\n isTrailingActionNavigable: function () {\n if (_this.trailingAction) {\n return _this.trailingAction.isNavigable();\n }\n return false;\n },\n notifyInteraction: function () { return _this.emit(strings.INTERACTION_EVENT, { chipId: _this.id }, true /* shouldBubble */); },\n notifyNavigation: function (key, source) {\n return _this.emit(strings.NAVIGATION_EVENT, { chipId: _this.id, key: key, source: source }, true /* shouldBubble */);\n },\n notifyRemoval: function (removedAnnouncement) {\n _this.emit(strings.REMOVAL_EVENT, { chipId: _this.id, removedAnnouncement: removedAnnouncement }, true /* shouldBubble */);\n },\n notifySelection: function (selected, shouldIgnore) {\n return _this.emit(strings.SELECTION_EVENT, { chipId: _this.id, selected: selected, shouldIgnore: shouldIgnore }, true /* shouldBubble */);\n },\n notifyTrailingIconInteraction: function () {\n return _this.emit(strings.TRAILING_ICON_INTERACTION_EVENT, { chipId: _this.id }, true /* shouldBubble */);\n },\n notifyEditStart: function () { },\n notifyEditFinish: function () { },\n removeClass: function (className) { return _this.root.classList.remove(className); },\n removeClassFromLeadingIcon: function (className) {\n if (_this.leadingIcon) {\n _this.leadingIcon.classList.remove(className);\n }\n },\n removeTrailingActionFocus: function () {\n if (_this.trailingAction) {\n _this.trailingAction.removeFocus();\n }\n },\n setPrimaryActionAttr: function (attr, value) {\n if (_this.primaryAction) {\n _this.primaryAction.setAttribute(attr, value);\n }\n },\n setStyleProperty: function (propertyName, value) {\n return _this.root.style.setProperty(propertyName, value);\n },\n };\n return new MDCChipFoundation(adapter);\n };\n MDCChip.prototype.setSelectedFromChipSet = function (selected, shouldNotifyClients) {\n this.foundation.setSelectedFromChipSet(selected, shouldNotifyClients);\n };\n MDCChip.prototype.focusPrimaryAction = function () {\n this.foundation.focusPrimaryAction();\n };\n MDCChip.prototype.focusTrailingAction = function () {\n this.foundation.focusTrailingAction();\n };\n MDCChip.prototype.removeFocus = function () {\n this.foundation.removeFocus();\n };\n MDCChip.prototype.remove = function () {\n var parent = this.root.parentNode;\n if (parent !== null) {\n parent.removeChild(this.root);\n }\n };\n return MDCChip;\n}(MDCComponent));\nexport { MDCChip };\n//# sourceMappingURL=component.js.map","/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n/**\n * Priorities for the announce function.\n */\nexport var AnnouncerPriority;\n(function (AnnouncerPriority) {\n AnnouncerPriority[\"POLITE\"] = \"polite\";\n AnnouncerPriority[\"ASSERTIVE\"] = \"assertive\";\n})(AnnouncerPriority || (AnnouncerPriority = {}));\n/**\n * Data attribute added to live region element.\n */\nexport var DATA_MDC_DOM_ANNOUNCE = 'data-mdc-dom-announce';\n/**\n * Announces the given message with optional priority, defaulting to \"polite\"\n */\nexport function announce(message, options) {\n Announcer.getInstance().say(message, options);\n}\nvar Announcer = /** @class */ (function () {\n // Constructor made private to ensure only the singleton is used\n function Announcer() {\n this.liveRegions = new Map();\n }\n Announcer.getInstance = function () {\n if (!Announcer.instance) {\n Announcer.instance = new Announcer();\n }\n return Announcer.instance;\n };\n Announcer.prototype.say = function (message, options) {\n var _a, _b;\n var priority = (_a = options === null || options === void 0 ? void 0 : options.priority) !== null && _a !== void 0 ? _a : AnnouncerPriority.POLITE;\n var ownerDocument = (_b = options === null || options === void 0 ? void 0 : options.ownerDocument) !== null && _b !== void 0 ? _b : document;\n var liveRegion = this.getLiveRegion(priority, ownerDocument);\n // Reset the region to pick up the message, even if the message is the\n // exact same as before.\n liveRegion.textContent = '';\n // Timeout is necessary for screen readers like NVDA and VoiceOver.\n setTimeout(function () {\n liveRegion.textContent = message;\n ownerDocument.addEventListener('click', clearLiveRegion);\n }, 1);\n function clearLiveRegion() {\n liveRegion.textContent = '';\n ownerDocument.removeEventListener('click', clearLiveRegion);\n }\n };\n Announcer.prototype.getLiveRegion = function (priority, ownerDocument) {\n var documentLiveRegions = this.liveRegions.get(ownerDocument);\n if (!documentLiveRegions) {\n documentLiveRegions = new Map();\n this.liveRegions.set(ownerDocument, documentLiveRegions);\n }\n var existingLiveRegion = documentLiveRegions.get(priority);\n if (existingLiveRegion &&\n ownerDocument.body.contains(existingLiveRegion)) {\n return existingLiveRegion;\n }\n var liveRegion = this.createLiveRegion(priority, ownerDocument);\n documentLiveRegions.set(priority, liveRegion);\n return liveRegion;\n };\n Announcer.prototype.createLiveRegion = function (priority, ownerDocument) {\n var el = ownerDocument.createElement('div');\n el.style.position = 'absolute';\n el.style.top = '-9999px';\n el.style.left = '-9999px';\n el.style.height = '1px';\n el.style.overflow = 'hidden';\n el.setAttribute('aria-atomic', 'true');\n el.setAttribute('aria-live', priority);\n el.setAttribute(DATA_MDC_DOM_ANNOUNCE, 'true');\n ownerDocument.body.appendChild(el);\n return el;\n };\n return Announcer;\n}());\n//# sourceMappingURL=announce.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nexport var strings = {\n CHIP_SELECTOR: '.mdc-chip',\n};\nexport var cssClasses = {\n CHOICE: 'mdc-chip-set--choice',\n FILTER: 'mdc-chip-set--filter',\n};\n//# sourceMappingURL=constants.js.map","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __assign, __extends } from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { Direction, EventSource, jumpChipKeys, navigationKeys, strings as chipStrings } from '../chip/constants';\nimport { cssClasses, strings } from './constants';\nvar MDCChipSetFoundation = /** @class */ (function (_super) {\n __extends(MDCChipSetFoundation, _super);\n function MDCChipSetFoundation(adapter) {\n var _this = _super.call(this, __assign(__assign({}, MDCChipSetFoundation.defaultAdapter), adapter)) || this;\n /**\n * The ids of the selected chips in the set. Only used for choice chip set or filter chip set.\n */\n _this.selectedChipIds = [];\n return _this;\n }\n Object.defineProperty(MDCChipSetFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChipSetFoundation, \"cssClasses\", {\n get: function () {\n return cssClasses;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChipSetFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n announceMessage: function () { return undefined; },\n focusChipPrimaryActionAtIndex: function () { return undefined; },\n focusChipTrailingActionAtIndex: function () { return undefined; },\n getChipListCount: function () { return -1; },\n getIndexOfChipById: function () { return -1; },\n hasClass: function () { return false; },\n isRTL: function () { return false; },\n removeChipAtIndex: function () { return undefined; },\n removeFocusFromChipAtIndex: function () { return undefined; },\n selectChipAtIndex: function () { return undefined; },\n };\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Returns an array of the IDs of all selected chips.\n */\n MDCChipSetFoundation.prototype.getSelectedChipIds = function () {\n return this.selectedChipIds.slice();\n };\n /**\n * Selects the chip with the given id. Deselects all other chips if the chip set is of the choice variant.\n * Does not notify clients of the updated selection state.\n */\n MDCChipSetFoundation.prototype.select = function (chipId) {\n this.selectImpl(chipId, false);\n };\n /**\n * Handles a chip interaction event\n */\n MDCChipSetFoundation.prototype.handleChipInteraction = function (_a) {\n var chipId = _a.chipId;\n var index = this.adapter.getIndexOfChipById(chipId);\n this.removeFocusFromChipsExcept(index);\n if (this.adapter.hasClass(cssClasses.CHOICE) ||\n this.adapter.hasClass(cssClasses.FILTER)) {\n this.toggleSelect(chipId);\n }\n };\n /**\n * Handles a chip selection event, used to handle discrepancy when selection state is set directly on the Chip.\n */\n MDCChipSetFoundation.prototype.handleChipSelection = function (_a) {\n var chipId = _a.chipId, selected = _a.selected, shouldIgnore = _a.shouldIgnore;\n // Early exit if we should ignore the event\n if (shouldIgnore) {\n return;\n }\n var chipIsSelected = this.selectedChipIds.indexOf(chipId) >= 0;\n if (selected && !chipIsSelected) {\n this.select(chipId);\n }\n else if (!selected && chipIsSelected) {\n this.deselectImpl(chipId);\n }\n };\n /**\n * Handles the event when a chip is removed.\n */\n MDCChipSetFoundation.prototype.handleChipRemoval = function (_a) {\n var chipId = _a.chipId, removedAnnouncement = _a.removedAnnouncement;\n if (removedAnnouncement) {\n this.adapter.announceMessage(removedAnnouncement);\n }\n var index = this.adapter.getIndexOfChipById(chipId);\n this.deselectAndNotifyClients(chipId);\n this.adapter.removeChipAtIndex(index);\n var maxIndex = this.adapter.getChipListCount() - 1;\n if (maxIndex < 0) {\n return;\n }\n var nextIndex = Math.min(index, maxIndex);\n this.removeFocusFromChipsExcept(nextIndex);\n // After removing a chip, we should focus the trailing action for the next chip.\n this.adapter.focusChipTrailingActionAtIndex(nextIndex);\n };\n /**\n * Handles a chip navigation event.\n */\n MDCChipSetFoundation.prototype.handleChipNavigation = function (_a) {\n var chipId = _a.chipId, key = _a.key, source = _a.source;\n var maxIndex = this.adapter.getChipListCount() - 1;\n var index = this.adapter.getIndexOfChipById(chipId);\n // Early exit if the index is out of range or the key is unusable\n if (index === -1 || !navigationKeys.has(key)) {\n return;\n }\n var isRTL = this.adapter.isRTL();\n var isLeftKey = key === chipStrings.ARROW_LEFT_KEY ||\n key === chipStrings.IE_ARROW_LEFT_KEY;\n var isRightKey = key === chipStrings.ARROW_RIGHT_KEY ||\n key === chipStrings.IE_ARROW_RIGHT_KEY;\n var isDownKey = key === chipStrings.ARROW_DOWN_KEY ||\n key === chipStrings.IE_ARROW_DOWN_KEY;\n var shouldIncrement = !isRTL && isRightKey || isRTL && isLeftKey || isDownKey;\n var isHome = key === chipStrings.HOME_KEY;\n var isEnd = key === chipStrings.END_KEY;\n if (shouldIncrement) {\n index++;\n }\n else if (isHome) {\n index = 0;\n }\n else if (isEnd) {\n index = maxIndex;\n }\n else {\n index--;\n }\n // Early exit if the index is out of bounds\n if (index < 0 || index > maxIndex) {\n return;\n }\n this.removeFocusFromChipsExcept(index);\n this.focusChipAction(index, key, source);\n };\n MDCChipSetFoundation.prototype.focusChipAction = function (index, key, source) {\n var shouldJumpChips = jumpChipKeys.has(key);\n if (shouldJumpChips && source === EventSource.PRIMARY) {\n return this.adapter.focusChipPrimaryActionAtIndex(index);\n }\n if (shouldJumpChips && source === EventSource.TRAILING) {\n return this.adapter.focusChipTrailingActionAtIndex(index);\n }\n var dir = this.getDirection(key);\n if (dir === Direction.LEFT) {\n return this.adapter.focusChipTrailingActionAtIndex(index);\n }\n if (dir === Direction.RIGHT) {\n return this.adapter.focusChipPrimaryActionAtIndex(index);\n }\n };\n MDCChipSetFoundation.prototype.getDirection = function (key) {\n var isRTL = this.adapter.isRTL();\n var isLeftKey = key === chipStrings.ARROW_LEFT_KEY ||\n key === chipStrings.IE_ARROW_LEFT_KEY;\n var isRightKey = key === chipStrings.ARROW_RIGHT_KEY ||\n key === chipStrings.IE_ARROW_RIGHT_KEY;\n if (!isRTL && isLeftKey || isRTL && isRightKey) {\n return Direction.LEFT;\n }\n return Direction.RIGHT;\n };\n /**\n * Deselects the chip with the given id and optionally notifies clients.\n */\n MDCChipSetFoundation.prototype.deselectImpl = function (chipId, shouldNotifyClients) {\n if (shouldNotifyClients === void 0) { shouldNotifyClients = false; }\n var index = this.selectedChipIds.indexOf(chipId);\n if (index >= 0) {\n this.selectedChipIds.splice(index, 1);\n var chipIndex = this.adapter.getIndexOfChipById(chipId);\n this.adapter.selectChipAtIndex(chipIndex, /** isSelected */ false, shouldNotifyClients);\n }\n };\n /**\n * Deselects the chip with the given id and notifies clients.\n */\n MDCChipSetFoundation.prototype.deselectAndNotifyClients = function (chipId) {\n this.deselectImpl(chipId, true);\n };\n /**\n * Toggles selection of the chip with the given id.\n */\n MDCChipSetFoundation.prototype.toggleSelect = function (chipId) {\n if (this.selectedChipIds.indexOf(chipId) >= 0) {\n this.deselectAndNotifyClients(chipId);\n }\n else {\n this.selectAndNotifyClients(chipId);\n }\n };\n MDCChipSetFoundation.prototype.removeFocusFromChipsExcept = function (index) {\n var chipCount = this.adapter.getChipListCount();\n for (var i = 0; i < chipCount; i++) {\n if (i !== index) {\n this.adapter.removeFocusFromChipAtIndex(i);\n }\n }\n };\n MDCChipSetFoundation.prototype.selectAndNotifyClients = function (chipId) {\n this.selectImpl(chipId, true);\n };\n MDCChipSetFoundation.prototype.selectImpl = function (chipId, shouldNotifyClients) {\n if (this.selectedChipIds.indexOf(chipId) >= 0) {\n return;\n }\n if (this.adapter.hasClass(cssClasses.CHOICE) &&\n this.selectedChipIds.length > 0) {\n var previouslySelectedChip = this.selectedChipIds[0];\n var previouslySelectedIndex = this.adapter.getIndexOfChipById(previouslySelectedChip);\n this.selectedChipIds = [];\n this.adapter.selectChipAtIndex(previouslySelectedIndex, /** isSelected */ false, shouldNotifyClients);\n }\n this.selectedChipIds.push(chipId);\n var index = this.adapter.getIndexOfChipById(chipId);\n this.adapter.selectChipAtIndex(index, /** isSelected */ true, shouldNotifyClients);\n };\n return MDCChipSetFoundation;\n}(MDCFoundation));\nexport { MDCChipSetFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCChipSetFoundation;\n//# sourceMappingURL=foundation.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __extends, __values } from \"tslib\";\nimport { MDCComponent } from '@material/base/component';\nimport { announce } from '@material/dom/announce';\nimport { MDCChip } from '../chip/component';\nimport { MDCChipFoundation } from '../chip/foundation';\nimport { MDCChipSetFoundation } from './foundation';\nvar _a = MDCChipFoundation.strings, INTERACTION_EVENT = _a.INTERACTION_EVENT, SELECTION_EVENT = _a.SELECTION_EVENT, REMOVAL_EVENT = _a.REMOVAL_EVENT, NAVIGATION_EVENT = _a.NAVIGATION_EVENT;\nvar CHIP_SELECTOR = MDCChipSetFoundation.strings.CHIP_SELECTOR;\nvar idCounter = 0;\nvar MDCChipSet = /** @class */ (function (_super) {\n __extends(MDCChipSet, _super);\n function MDCChipSet() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MDCChipSet.attachTo = function (root) {\n return new MDCChipSet(root);\n };\n Object.defineProperty(MDCChipSet.prototype, \"chips\", {\n get: function () {\n return this.chipsList.slice();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCChipSet.prototype, \"selectedChipIds\", {\n /**\n * @return An array of the IDs of all selected chips.\n */\n get: function () {\n return this.foundation.getSelectedChipIds();\n },\n enumerable: false,\n configurable: true\n });\n /**\n * @param chipFactory A function which creates a new MDCChip.\n */\n MDCChipSet.prototype.initialize = function (chipFactory) {\n if (chipFactory === void 0) { chipFactory = function (el) { return new MDCChip(el); }; }\n this.chipFactory = chipFactory;\n this.chipsList = this.instantiateChips(this.chipFactory);\n };\n MDCChipSet.prototype.initialSyncWithDOM = function () {\n var e_1, _a;\n var _this = this;\n try {\n for (var _b = __values(this.chipsList), _c = _b.next(); !_c.done; _c = _b.next()) {\n var chip = _c.value;\n if (chip.id && chip.selected) {\n this.foundation.select(chip.id);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n this.handleChipInteraction = function (evt) {\n return _this.foundation.handleChipInteraction(evt.detail);\n };\n this.handleChipSelection = function (evt) {\n return _this.foundation.handleChipSelection(evt.detail);\n };\n this.handleChipRemoval = function (evt) {\n return _this.foundation.handleChipRemoval(evt.detail);\n };\n this.handleChipNavigation = function (evt) {\n return _this.foundation.handleChipNavigation(evt.detail);\n };\n this.listen(INTERACTION_EVENT, this.handleChipInteraction);\n this.listen(SELECTION_EVENT, this.handleChipSelection);\n this.listen(REMOVAL_EVENT, this.handleChipRemoval);\n this.listen(NAVIGATION_EVENT, this.handleChipNavigation);\n };\n MDCChipSet.prototype.destroy = function () {\n var e_2, _a;\n try {\n for (var _b = __values(this.chipsList), _c = _b.next(); !_c.done; _c = _b.next()) {\n var chip = _c.value;\n chip.destroy();\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n this.unlisten(INTERACTION_EVENT, this.handleChipInteraction);\n this.unlisten(SELECTION_EVENT, this.handleChipSelection);\n this.unlisten(REMOVAL_EVENT, this.handleChipRemoval);\n this.unlisten(NAVIGATION_EVENT, this.handleChipNavigation);\n _super.prototype.destroy.call(this);\n };\n /**\n * Adds a new chip object to the chip set from the given chip element.\n */\n MDCChipSet.prototype.addChip = function (chipEl) {\n chipEl.id = chipEl.id || \"mdc-chip-\" + ++idCounter;\n this.chipsList.push(this.chipFactory(chipEl));\n };\n MDCChipSet.prototype.getDefaultFoundation = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n var adapter = {\n announceMessage: function (message) {\n announce(message);\n },\n focusChipPrimaryActionAtIndex: function (index) {\n _this.chipsList[index].focusPrimaryAction();\n },\n focusChipTrailingActionAtIndex: function (index) {\n _this.chipsList[index].focusTrailingAction();\n },\n getChipListCount: function () { return _this.chips.length; },\n getIndexOfChipById: function (chipId) {\n return _this.findChipIndex(chipId);\n },\n hasClass: function (className) { return _this.root.classList.contains(className); },\n isRTL: function () { return window.getComputedStyle(_this.root).getPropertyValue('direction') === 'rtl'; },\n removeChipAtIndex: function (index) {\n if (index >= 0 && index < _this.chips.length) {\n _this.chipsList[index].destroy();\n _this.chipsList[index].remove();\n _this.chipsList.splice(index, 1);\n }\n },\n removeFocusFromChipAtIndex: function (index) {\n _this.chipsList[index].removeFocus();\n },\n selectChipAtIndex: function (index, selected, shouldNotifyClients) {\n if (index >= 0 && index < _this.chips.length) {\n _this.chipsList[index].setSelectedFromChipSet(selected, shouldNotifyClients);\n }\n },\n };\n return new MDCChipSetFoundation(adapter);\n };\n /**\n * Instantiates chip components on all of the chip set's child chip elements.\n */\n MDCChipSet.prototype.instantiateChips = function (chipFactory) {\n var chipElements = [].slice.call(this.root.querySelectorAll(CHIP_SELECTOR));\n return chipElements.map(function (el) {\n el.id = el.id || \"mdc-chip-\" + ++idCounter;\n return chipFactory(el);\n });\n };\n /**\n * Returns the index of the chip with the given id, or -1 if the chip does not exist.\n */\n MDCChipSet.prototype.findChipIndex = function (chipId) {\n for (var i = 0; i < this.chips.length; i++) {\n if (this.chipsList[i].id === chipId) {\n return i;\n }\n }\n return -1;\n };\n return MDCChipSet;\n}(MDCComponent));\nexport { MDCChipSet };\n//# sourceMappingURL=component.js.map","import {\n ARROW_LEFT,\n ARROW_LEFT_KEY_CODE,\n ARROW_RIGHT,\n ARROW_RIGHT_KEY_CODE,\n BACKSPACE,\n BACKSPACE_KEY_CODE,\n DELETE,\n DELETE_KEY_CODE,\n ENTER,\n ENTER_KEY_CODE,\n ESCAPE,\n ESCAPE_KEY_CODE,\n} from '../../util/keycodes';\n\n/**\n * Key handler for the input field.\n * Lets the user select, activate, and remove chips with the keyboard.\n *\n * @param event - event\n\n */\nexport function handleKeyboardEvent(event: KeyboardEvent) {\n if (this.textValue.length) {\n // If there is any text in the input field, keyboard input should\n // navigate the text, not the chips.\n return;\n }\n\n if (!this.value || !this.value.length) {\n // If there are no chips, there is nothing to select.\n return;\n }\n\n const isLeft =\n event.key === ARROW_LEFT || event.keyCode === ARROW_LEFT_KEY_CODE;\n const isRight =\n event.key === ARROW_RIGHT || event.keyCode === ARROW_RIGHT_KEY_CODE;\n const isEnter = event.key === ENTER || event.keyCode === ENTER_KEY_CODE;\n const isDelete = event.key === DELETE || event.keyCode === DELETE_KEY_CODE;\n const isBackspace =\n event.key === BACKSPACE || event.keyCode === BACKSPACE_KEY_CODE;\n const isEscape = event.key === ESCAPE || event.keyCode === ESCAPE_KEY_CODE;\n\n if (isLeft) {\n return handleLeft(this, event);\n }\n\n if (isRight) {\n return handleRight(this, event);\n }\n\n if (isEnter) {\n return handleEnter(this, event);\n }\n\n if (isDelete) {\n return handleDelete(this, event);\n }\n\n if (isBackspace) {\n return handleBackspace(this, event);\n }\n\n if (isEscape) {\n return handleEscape(this, event);\n }\n}\n\nfunction handleLeft(host, event) {\n event.preventDefault();\n if (host.inputChipIndexSelected === null) {\n host.inputChipIndexSelected = host.value.length - 1;\n\n return;\n }\n\n if (host.inputChipIndexSelected <= 0) {\n return;\n }\n\n host.inputChipIndexSelected -= 1;\n}\n\nfunction handleRight(host, event) {\n event.preventDefault();\n if (host.inputChipIndexSelected === null) {\n host.inputChipIndexSelected = 0;\n\n return;\n }\n\n if (host.inputChipIndexSelected >= host.value.length - 1) {\n return;\n }\n\n host.inputChipIndexSelected += 1;\n}\n\nfunction handleEnter(host, event) {\n if (host.inputChipIndexSelected !== null) {\n event.preventDefault();\n host.emitInteraction(host.value[host.inputChipIndexSelected]);\n }\n}\n\nfunction handleEscape(host, event) {\n if (host.inputChipIndexSelected !== null) {\n event.preventDefault();\n host.inputChipIndexSelected = null;\n }\n}\n\nfunction handleDelete(host, event) {\n if (host.inputChipIndexSelected !== null) {\n event.preventDefault();\n removeChip(host);\n }\n}\n\nfunction handleBackspace(host, event) {\n if (host.inputChipIndexSelected !== null) {\n event.preventDefault();\n removeChip(host);\n } else if (!event.repeat) {\n host.inputChipIndexSelected = host.value.length - 1;\n }\n}\n\nfunction removeChip(host) {\n if (host.inputChipIndexSelected !== null) {\n host.removeChip(host.value[host.inputChipIndexSelected].id);\n host.inputChipIndexSelected = null;\n }\n}\n","@use '../../style/functions';\n@use '../../style/internal/shared_input-select-picker';\n@use '../../style/mixins';\n\n@use '../../style/internal/lime-theme';\n\n@use '@material/textfield';\n@use '@material/textfield/icon';\n@use '@material/notched-outline/mdc-notched-outline';\n@use '@material/floating-label';\n@use '@material/floating-label/mdc-floating-label';\n@use '@material/chips/deprecated/mdc-chips';\n\n/**\n * @prop --icon-background-color: Background color of the icon. Defaults to transparent.\n * @prop --icon-color: Color of the icon. Defaults to `rgb(var(--contrast-1100))`.\n * @prop --background-color: Background color of the field when type is set to input.\n * @prop --background-color-disabled: Background color of the field when type is set to input and the component is disabled or readonly.\n * @prop --input-chip-set-selected-chip-color: Color of the highlight around selected chips in input chip-sets.\n */\n\n@include textfield.core-styles;\n@include icon.icon-core-styles;\n\n@include shared_input-select-picker.outlined-style-overrides;\n@include shared_input-select-picker.floating-label-overrides;\n@include shared_input-select-picker.cropped-label-hack;\n@include shared_input-select-picker.disabled-overrides;\n@include shared_input-select-picker.readonly-overrides;\n@include shared_input-select-picker.leading-icon;\n@include shared_input-select-picker.lime-empty-value-for-readonly;\n@include shared_input-select-picker.lime-looks-like-input-value;\n\n$height-of-chip-set-input: functions.pxToRem(36);\n$leading-icon-space: functions.pxToRem(40);\n$background-color-of-remove-chip-buton-when-hovered: rgba(\n var(--color-red-default),\n 0.2\n);\n$scale-of-remove-chip-x-when-hovered: scale(0.7);\n\n:host(limel-chip-set) {\n isolation: isolate;\n}\n\n.mdc-chip {\n // As long as this component is depended on MDC,\n // we need to force it to be font-agnostic.\n // When MDC-dependency is removed, this block can also be removed.\n // However, on removal of MDC-dependency, we should also make sure to check\n // other font-related styles that might be set by MDC,\n // such as `letter-spacing` or `font-size`.\n font-family: inherit;\n}\n\n.mdc-chip {\n @include mixins.is-elevated-inset-clickable();\n max-width: 100%;\n min-width: functions.pxToRem(32);\n padding: 0 functions.pxToRem(1);\n display: inline-grid;\n grid-auto-flow: column;\n\n span[role='gridcell'] {\n min-width: 0; // This is needed to force mdc-chip__text (which is inside this span) to truncate\n\n &:only-child {\n .mdc-chip__text {\n padding-left: functions.pxToRem(12);\n }\n }\n\n &:first-child {\n .mdc-chip__text {\n padding-left: functions.pxToRem(12);\n }\n }\n\n a[role='button'],\n span[role='checkbox'] {\n &:focus-visible {\n &:after {\n // visualizes keyboard navigation on Chrome & Firefox\n // only when non-pointer input is being used,\n // e.g. tabbed into using keyboard\n content: '';\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n border-radius: functions.pxToRem(60);\n box-shadow: var(--shadow-depth-8-focused);\n }\n }\n }\n }\n\n &.mdc-chip--selected {\n color: var(--mdc-theme-primary) !important;\n background-color: var(--mdc-theme-surface) !important;\n box-shadow: var(--button-shadow-inset);\n\n &:active {\n box-shadow: var(--button-shadow-inset-pressed);\n }\n\n .mdc-chip__icon--leading {\n color: var(--mdc-theme-primary) !important;\n }\n }\n}\n\n.mdc-chip.mdc-chip--selected .mdc-chip__checkmark,\n.mdc-chip__checkmark {\n margin-right: functions.pxToRem(4);\n margin-left: functions.pxToRem(8);\n}\n\nlimel-badge {\n margin-right: functions.pxToRem(4);\n margin-left: functions.pxToRem(-4);\n}\n\n.mdc-chip__text {\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n padding: 0 functions.pxToRem(12) 0 functions.pxToRem(4);\n color: inherit;\n text-decoration: none;\n\n &:focus,\n &:focus-visible {\n outline: none;\n }\n}\n\nlimel-icon.mdc-chip__icon.mdc-chip__icon--leading {\n background-color: var(--icon-background-color, transparent);\n margin: 0 !important;\n color: var(--icon-color, rgb(var(--contrast-1100)));\n}\n\n.mdc-chip-set {\n align-items: center;\n min-height: shared_input-select-picker.$height-of-mdc-text-field;\n position: relative;\n\n &.chip-set--with-label {\n .lime-floating-label--float-above {\n padding-left: functions.pxToRem(4);\n }\n }\n\n &.mdc-chip-set--input {\n padding: functions.pxToRem(8);\n\n width: 100%;\n\n .mdc-chip--selected {\n // When chip is selected with keyboard (backspace / arrow-keys) to be deleted\n box-shadow: var(--shadow-depth-8-error);\n\n .mdc-chip__icon--trailing {\n color: rgb(var(--color-red-dark));\n background-color: $background-color-of-remove-chip-buton-when-hovered;\n\n svg {\n transform: $scale-of-remove-chip-x-when-hovered;\n }\n }\n }\n }\n\n &.has-clear-all-button {\n &.mdc-chip-set--input {\n padding-right: functions.pxToRem(\n 32\n ); // This leaves space for \"clear all\" button and avoids overlapping with chips\n }\n }\n}\n\n.mdc-chip__icon {\n &.mdc-chip__icon--trailing {\n transition:\n background-color 0.2s ease,\n color 0.2s ease;\n\n color: var(--mdc-theme-on-surface);\n margin-left: 0;\n margin-right: functions.pxToRem(5);\n\n width: functions.pxToRem(22);\n height: functions.pxToRem(22);\n\n &:hover {\n background-color: $background-color-of-remove-chip-buton-when-hovered;\n\n svg {\n transform: $scale-of-remove-chip-x-when-hovered;\n }\n }\n\n svg {\n transition: transform 0.2s ease;\n display: block;\n transform: scale(0.9);\n }\n }\n}\n\n.mdc-text-field {\n height: auto;\n cursor: text;\n\n .mdc-text-field__input {\n @include shared_input-select-picker.input-field-placeholder;\n\n width: auto;\n height: $height-of-chip-set-input;\n line-height: $height-of-chip-set-input;\n padding: 0 functions.pxToRem(12);\n\n flex-grow: 1;\n flex-shrink: 0;\n\n &.hidden {\n // This class is added, as soon as there is a chip selected and displayed\n // This input field should not be visually visible as it breaks the UI in some cases\n // But it should be rendered to be able to tab between fields and do other keyboard commands /Kia\n transition: all 0s;\n opacity: 0;\n position: absolute;\n z-index: -100; // to let users interact with chips, in case they're covered\n }\n &[type='search'] {\n -webkit-appearance: textfield; // Removes the default magnifying glass icon on iOS which appears automatically on input fields with type of search\n background-color: transparent; // overides styles caused by previous line\n\n &::-webkit-search-cancel-button {\n display: none; // removes the default X button\n }\n }\n }\n}\n\n.mdc-text-field--disabled .mdc-chip {\n pointer-events: all;\n\n &.disabled {\n @include shared_input-select-picker.looks-disabled;\n pointer-events: none;\n }\n}\n\n// used only in chipsets that do not have input\n.chip-set__label {\n @include mixins.truncate-text;\n width: 120%; // `120%` instead of `100%`,\n // because this class is always together with `mdc-floating-label--float-above`,\n // which scales the label down. So there is more horizontal space to display the label in.\n top: functions.pxToRem(13);\n padding-left: functions.pxToRem(20);\n}\n\n// Because MDC removes some classes in chipset, we add custom\n// classes with similar names and expected behavior & styles.\n// These class names start with `lime-`, instead of `mdc-`.\n.lime-notched-outline--notched {\n .mdc-notched-outline__notch {\n border-top: 1px solid transparent !important;\n\n .lime-floating-label--float-above {\n // This overrides MDC's original top value which is `top: 50%`.\n // The reason is that a % value aligns the label in a wrong position\n // vertically, when there are multiple rows of chips.\n top: functions.pxToRem(27);\n\n transform: translateY(-34.75px) scale(0.75);\n font-size: shared_input-select-picker.$cropped-label-hack--font-size;\n }\n }\n}\n\n.force-invalid {\n @extend .mdc-text-field--invalid;\n}\n\n.clear-all-button {\n @include mixins.clear-all-button;\n @include mixins.visualize-keyboard-focus;\n\n position: absolute;\n right: functions.pxToRem(8);\n top: functions.pxToRem(18);\n\n opacity: 0; // Is hidden, but can receive focus (such as when navigating through tab indexes).\n\n &:focus,\n .has-chips:not(.mdc-text-field--disabled):hover &,\n .has-chips:not(.mdc-text-field--disabled).mdc-text-field--focused & {\n opacity: 1;\n outline: none;\n }\n\n :not(.has-chips) &,\n .has-chips.mdc-text-field--disabled & {\n display: none; // Won't receive focus when disabled\n }\n}\n\n.has-leading-icon {\n &:not(.has-chips) {\n .mdc-text-field__input {\n padding-left: $leading-icon-space;\n }\n\n .mdc-floating-label {\n &:not(.lime-floating-label--float-above) {\n left: $leading-icon-space;\n }\n &.mdc-floating-label--float-above {\n left: functions.pxToRem(4);\n }\n }\n }\n\n .mdc-chip {\n &:first-of-type {\n margin-left: 40px;\n }\n }\n\n .search-icon {\n transition: transform 0.2s ease;\n position: absolute;\n top: functions.pxToRem(16);\n left: functions.pxToRem(16);\n }\n\n limel-icon {\n background-color: transparent;\n }\n}\n\n.delimiter {\n opacity: 0.5;\n padding: 0 functions.pxToRem(2);\n color: var(--mdc-theme-on-surface);\n}\n\n@import './partial-styles/_readonly';\n@import './partial-styles/_file-picker';\n@import './partial-styles/_helper-text';\n","import { Chip } from '../chip-set/chip.types';\nimport { Languages } from '../date-picker/date.types';\nimport {\n MDCChipInteractionEvent,\n MDCChipSelectionEvent,\n MDCChipSet,\n} from '@material/chips/deprecated';\nimport { MDCTextField } from '@material/textfield';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { handleKeyboardEvent } from './chip-set-input-helpers';\nimport translate from '../../global/translations';\nimport { getHref, getTarget } from '../../util/link-helper';\nimport { isEqual } from 'lodash-es';\nimport {\n getIconBackgroundColor,\n getIconColor,\n getIconName,\n getIconTitle,\n} from '../icon/get-icon-props';\n\nconst SELECTED_CHIP_CLASS = 'mdc-chip--selected';\nconst INPUT_FIELD_TABINDEX = 1;\n\n/**\n * @exampleComponent limel-example-chip-set\n * @exampleComponent limel-example-chip-set-choice\n * @exampleComponent limel-example-chip-set-filter\n * @exampleComponent limel-example-chip-set-filter-badge\n * @exampleComponent limel-example-chip-set-input\n * @exampleComponent limel-example-chip-set-input-type-text\n * @exampleComponent limel-example-chip-set-input-type-search\n * @exampleComponent limel-example-chip-icon-color\n * @exampleComponent limel-example-chip-set-composite\n */\n@Component({\n tag: 'limel-chip-set',\n shadow: true,\n styleUrl: 'chip-set.scss',\n})\nexport class ChipSet {\n /**\n * List of chips for the set\n */\n @Prop()\n public value: Chip[] = [];\n\n /**\n * Type of chip set\n *\n * - `choice` renders a set of selectable chips where only one is selectable. The `removable` property is ignored\n * - `filter` renders a set of selectable chips where all are selectable. The `icon` property is ignored\n * - `input` renders a set of chips that can be used in conjunction with an input field\n *\n * If no type is set, a basic set of chips without additional functionality will be rendered\n */\n @Prop({ reflect: true })\n public type?: 'choice' | 'filter' | 'input';\n\n /**\n * Label for the chip-set\n */\n @Prop({ reflect: true })\n public label: string;\n\n /**\n * Optional helper text to display below the chipset.\n * When type is `input`, the helper text is displayed below the\n * input field when it has focus.\n * When type is not `input`, the helper text is always displayed\n * if the device is touch screen; otherwise it is shown when chip-set\n * is hovered or focused using keyboard navigation.\n */\n @Prop({ reflect: true })\n public helperText: string;\n\n /**\n * True if the chip set should be disabled\n */\n @Prop({ reflect: true })\n public disabled: boolean = false;\n\n /**\n * For chip-sets of type `input`, set to `true` to disable adding and\n * removing chips, but allow interaction with existing chips in the set.\n * For any other types, setting either `readonly` or `disabled` disables\n * the chip-set.\n */\n @Prop({ reflect: true })\n public readonly: boolean = false;\n\n /**\n * Set to `true` to indicate that the current value of the input field is\n * invalid.\n */\n @Prop({ reflect: true })\n public invalid = false;\n\n /**\n * For chip-sets of type `input`. Value to use for the `type` attribute on the\n * input field inside the chip-set.\n */\n @Prop({ reflect: true })\n public inputType: 'search' | 'text' = 'text';\n\n /**\n * For chip-sets of type `input`. Limits the maximum number of chips.\n * When the value is `0` or not set, no limit is applied.\n */\n @Prop({ reflect: true })\n public maxItems: number;\n\n /**\n * True if the control requires a value\n */\n @Prop({ reflect: true })\n public required: boolean = false;\n\n /**\n * Search label to display when type is `input` and component is in search mode\n */\n @Prop({ reflect: true })\n public searchLabel: string;\n\n /**\n * Whether the input field should be emptied when the chip-set loses focus.\n */\n @Prop({ reflect: true })\n public emptyInputOnBlur: boolean = true;\n\n /**\n * Whether the \"Clear all\" buttons should be shown\n */\n @Prop()\n public clearAllButton: boolean = true;\n\n /**\n * For chip-sets of type `input`. When the value is null, no leading icon is used.\n * Leading icon to show to the far left in the text field\n */\n @Prop({ reflect: true })\n public leadingIcon: string = null;\n\n /**\n * For chip-set of type `input`. Sets delimiters between chips.\n */\n @Prop({ reflect: true })\n public delimiter: string = null;\n\n /**\n * Defines the language for translations.\n * Will translate the translatable strings on the components. For example, the clear all chips label.\n */\n @Prop()\n public language: Languages = 'en';\n\n /**\n * Dispatched when a chip is interacted with\n */\n @Event()\n private interact: EventEmitter<Chip>;\n\n /**\n * Dispatched when a chip is selected/deselected\n */\n @Event()\n private change: EventEmitter<Chip | Chip[]>;\n\n /**\n * Emitted when an input chip set has received focus and editing in the text field has started\n */\n @Event()\n private startEdit: EventEmitter<void>;\n\n /**\n * Emitted when an input chip set has lost focus and editing in the text field has ended\n */\n @Event()\n private stopEdit: EventEmitter<void>;\n\n /**\n * Dispatched when the input is changed for type `input`\n */\n @Event()\n private input: EventEmitter<string>;\n\n @Element()\n private host: HTMLLimelChipSetElement;\n\n @State()\n private editMode: boolean = false;\n\n @State()\n private textValue: string = '';\n\n @State()\n private blurred: boolean = false;\n\n @State()\n private inputChipIndexSelected: number = null;\n\n private mdcChipSet: MDCChipSet;\n private mdcTextField: MDCTextField;\n private handleKeyDown = handleKeyboardEvent;\n\n constructor() {\n this.renderChip = this.renderChip.bind(this);\n this.renderInputChip = this.renderInputChip.bind(this);\n this.isFull = this.isFull.bind(this);\n this.handleInteractionEvent = this.handleInteractionEvent.bind(this);\n this.handleSelection = this.handleSelection.bind(this);\n this.handleTextFieldFocus = this.handleTextFieldFocus.bind(this);\n this.handleInputBlur = this.handleInputBlur.bind(this);\n this.handleTextInput = this.handleTextInput.bind(this);\n this.inputFieldOnChange = this.inputFieldOnChange.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.inputHidden = this.inputHidden.bind(this);\n this.handleDeleteAllIconClick =\n this.handleDeleteAllIconClick.bind(this);\n this.renderDelimiter = this.renderDelimiter.bind(this);\n }\n\n /**\n * Used to find out whether the chip-set is in edit mode.\n *\n * @returns `true` if the chip-set is in edit mode, `false` otherwise.\n */\n @Method()\n public async getEditMode(): Promise<boolean> {\n return this.editMode;\n }\n\n /**\n * Used to set focus to the chip-set input field.\n *\n * @param emptyInput - if `true`, any text in the input is discarded\n * @returns does not return anything, but methods have to be async\n */\n @Method()\n public async setFocus(emptyInput: boolean = false) {\n if (this.disabled || this.readonly) {\n return;\n }\n\n this.editMode = true;\n if (emptyInput) {\n this.textValue = '';\n }\n\n this.host.shadowRoot.querySelector('input').focus();\n this.startEdit.emit();\n }\n\n /**\n * Used to empty the input field. Used in conjunction with `emptyInputOnBlur` to let the\n * consumer control when the input is emptied.\n *\n * @returns does not return anything, but methods have to be async\n */\n @Method()\n public async emptyInput() {\n this.syncEmptyInput();\n }\n\n public componentDidLoad() {\n this.triggerIconColorWarning(this.value);\n\n if (this.type === 'input') {\n this.mdcTextField = new MDCTextField(\n this.host.shadowRoot.querySelector('.mdc-text-field'),\n );\n }\n\n this.createMDCChipSet();\n }\n\n public componentWillUpdate() {\n this.destroyMDCChipSet();\n }\n\n public componentDidUpdate() {\n this.createMDCChipSet();\n const input = this.host.shadowRoot.querySelector('input');\n if (input && this.editMode) {\n input.focus();\n }\n }\n\n public disconnectedCallback() {\n this.destroyMDCChipSet();\n\n if (this.mdcTextField) {\n this.mdcTextField.destroy();\n }\n }\n\n public render() {\n if (this.type === 'input') {\n return this.renderInputChips();\n }\n\n const classes = {\n 'mdc-chip-set': true,\n disabled: this.disabled || this.readonly,\n 'mdc-text-field--with-trailing-icon': true,\n };\n if (this.type) {\n classes[`mdc-chip-set--${this.type}`] = true;\n }\n\n const chipSetLabel = this.renderChipSetLabel();\n if (chipSetLabel) {\n classes['chip-set--with-label'] = true;\n }\n\n return (\n <div class={classes} role=\"grid\">\n {chipSetLabel}\n {this.value.map(this.renderChip)}\n {this.renderHelperLine()}\n </div>\n );\n }\n\n @Watch('value')\n protected handleChangeChips(newValue: Chip[], oldValue: Chip[]) {\n if (isEqual(newValue, oldValue)) {\n return;\n }\n\n this.syncEmptyInput();\n }\n\n private createMDCChipSet() {\n this.mdcChipSet = new MDCChipSet(\n this.host.shadowRoot.querySelector('.mdc-chip-set'),\n );\n\n if (!this.type || this.type === 'input') {\n this.mdcChipSet.listen(\n 'MDCChip:interaction',\n this.handleInteractionEvent,\n );\n }\n\n if (this.type === 'choice' || this.type === 'filter') {\n this.mdcChipSet.listen('MDCChip:selection', this.handleSelection);\n }\n }\n\n private destroyMDCChipSet() {\n if (this.mdcChipSet) {\n this.mdcChipSet.unlisten(\n 'MDCChip:interaction',\n this.handleInteractionEvent,\n );\n this.mdcChipSet.unlisten('MDCChip:selection', this.handleSelection);\n\n this.mdcChipSet.destroy();\n }\n }\n\n private renderChipSetLabel() {\n if (!this.label) {\n return;\n }\n\n return (\n <label class=\"chip-set__label mdc-floating-label mdc-floating-label--float-above\">\n {this.label}\n </label>\n );\n }\n\n private renderInputChips() {\n return [\n <div\n class={{\n 'mdc-text-field mdc-text-field--outlined': true,\n 'mdc-chip-set mdc-chip-set--input': true,\n 'force-invalid': this.isInvalid(),\n 'mdc-text-field--disabled': this.readonly || this.disabled,\n 'lime-text-field--readonly': this.readonly,\n 'has-chips mdc-text-field--label-floating':\n this.value.length !== 0,\n 'has-leading-icon': this.leadingIcon !== null,\n 'has-clear-all-button': this.clearAllButton,\n }}\n onClick={this.handleTextFieldFocus}\n >\n {this.value.map(this.renderInputChip)}\n <input\n tabIndex={INPUT_FIELD_TABINDEX}\n type={this.inputType}\n id=\"input-element\"\n disabled={this.readonly || this.disabled}\n class={{\n 'mdc-text-field__input': true,\n hidden: this.inputHidden(),\n }}\n value={this.textValue}\n onBlur={this.handleInputBlur}\n onFocus={this.handleTextFieldFocus}\n onKeyDown={this.handleKeyDown}\n onInput={this.handleTextInput}\n // Some browsers emit a change event on input elements, we need to stop\n // that event from propagating since we are emitting our own change event\n onChange={this.inputFieldOnChange}\n placeholder={this.isFull() ? '' : this.searchLabel}\n readonly={this.isFull()}\n />\n <div\n class={{\n 'mdc-notched-outline': true,\n 'mdc-notched-outline--upgraded': true,\n 'mdc-text-field--required': this.required,\n 'lime-notched-outline--notched': this.floatLabelAbove(),\n }}\n dropzone-tip={this.dropZoneTip()}\n >\n <div class=\"mdc-notched-outline__leading\" />\n {this.renderLabel()}\n <div class=\"mdc-notched-outline__trailing\" />\n </div>\n {this.renderLeadingIcon()}\n {this.renderEmptyValueForReadonly()}\n {this.renderClearAllChipsButton()}\n </div>,\n this.renderHelperLine(),\n ];\n }\n\n private renderEmptyValueForReadonly = () => {\n if (this.readonly && this.value.length === 0) {\n return (\n <span class=\"lime-empty-value-for-readonly lime-looks-like-input-value\">\n –\n </span>\n );\n }\n };\n\n private renderLabel() {\n const labelClassList = {\n 'mdc-floating-label': true,\n 'mdc-text-field--disabled': this.readonly || this.disabled,\n 'mdc-floating-label--required': this.required,\n 'lime-floating-label--float-above': this.floatLabelAbove(),\n };\n\n if (!this.label) {\n return;\n }\n\n return (\n <div class=\"mdc-notched-outline__notch\">\n <label class={labelClassList} htmlFor=\"input-element\">\n {this.label}\n </label>\n </div>\n );\n }\n\n private floatLabelAbove = () => {\n if (!!this.value.length || this.editMode || this.readonly) {\n return true;\n }\n };\n\n private dropZoneTip = (): string => {\n return translate.get('file.drag-and-drop-tips', this.language);\n };\n\n private isFull(): boolean {\n return !!this.maxItems && this.value.length >= this.maxItems;\n }\n\n private isInvalid() {\n if (this.readonly) {\n // A readonly field can never be invalid.\n return false;\n }\n\n if (this.invalid) {\n return true;\n }\n\n if (!this.required) {\n return false;\n }\n\n if (!this.blurred) {\n return false;\n }\n\n return !this.value || !this.value.length;\n }\n\n private inputFieldOnChange(event) {\n event.stopPropagation();\n }\n\n /**\n * Enter edit mode when the text field receives focus. When editMode is true, the input element will be visible\n */\n private handleTextFieldFocus() {\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (this.editMode) {\n return;\n }\n\n this.editMode = true;\n this.startEdit.emit();\n }\n\n /**\n * Exit edit mode when the input element loses focus. This makes sure the input element does not take up any\n * additional space when the user it not typing anything\n */\n private handleInputBlur() {\n if (this.emptyInputOnBlur) {\n this.syncEmptyInput();\n }\n\n this.editMode = false;\n this.blurred = true;\n this.inputChipIndexSelected = null;\n\n // This timeout is needed in order to let a new element receive focus\n setTimeout(() => {\n this.stopEdit.emit();\n }, 0);\n }\n\n private syncEmptyInput() {\n this.textValue = '';\n }\n\n private inputHidden() {\n if (this.editMode) {\n return this.isFull();\n }\n\n // If there are chips in the picker, hide the input to avoid the input\n // being placed on a new line and adding ugly space beneath the chips.\n // If there are no chips, show the input, or the picker will look weird.\n return !!(this.value && this.value.length);\n }\n\n private handleTextInput(event) {\n event.stopPropagation();\n this.inputChipIndexSelected = null;\n this.textValue = event.target.value;\n this.input.emit(event.target.value && event.target.value.trim());\n }\n\n private handleInteractionEvent(event: MDCChipInteractionEvent) {\n const chip = this.value.find((item) => {\n return `${item.id}` === event.detail.chipId;\n });\n this.emitInteraction(chip);\n }\n\n private emitInteraction(chip: Chip) {\n this.interact.emit(chip);\n }\n\n private handleSelection(event: MDCChipSelectionEvent) {\n let chip = this.value.find((item) => {\n return `${item.id}` === event.detail.chipId;\n });\n chip = { ...chip, selected: event.detail.selected };\n this.change.emit(chip);\n }\n\n private removeChip(id: string | number) {\n const newValue = this.value.filter((chip) => {\n return `${chip.id}` !== `${id}`;\n });\n this.change.emit(newValue);\n }\n\n private renderChip(chip: Chip) {\n if (this.type === 'filter') {\n return this.renderFilterChip(chip);\n }\n\n return this.renderDefaultChip(chip);\n }\n\n private renderDefaultChip(chip: Chip) {\n return (\n <div\n class={`mdc-chip ${chip.selected ? SELECTED_CHIP_CLASS : ''}`}\n role=\"row\"\n id={`${chip.id}`}\n >\n {chip.icon ? this.renderChipIcon(chip) : null}\n {chip.text ? this.renderChipLabel(chip) : null}\n </div>\n );\n }\n\n private renderChipLabel(chip: Chip<any>) {\n const attributes: any = {};\n if (chip.href) {\n attributes.href = getHref(chip.href);\n attributes.target = getTarget(chip.href);\n }\n\n return (\n <span role=\"gridcell\">\n <a\n role=\"button\"\n tabindex={this.disabled ? '-1' : '0'}\n class=\"mdc-chip__text\"\n {...attributes}\n >\n {chip.text}\n </a>\n </span>\n );\n }\n\n private hasHelperText = () => {\n return this.helperText !== null && this.helperText !== undefined;\n };\n\n private renderHelperLine = () => {\n if (!this.maxItems && !this.hasHelperText()) {\n return;\n }\n\n return (\n <limel-helper-line\n length={this.value.length}\n maxLength={this.maxItems}\n helperText={this.helperText}\n invalid={this.isInvalid()}\n />\n );\n };\n\n private renderFilterChip(chip: Chip) {\n return (\n <div\n class={`mdc-chip ${chip.selected ? SELECTED_CHIP_CLASS : ''}`}\n role=\"row\"\n id={`${chip.id}`}\n >\n <span class=\"mdc-chip__checkmark\">\n <svg class=\"mdc-chip__checkmark-svg\" viewBox=\"-2 -3 30 30\">\n <path\n class=\"mdc-chip__checkmark-path\"\n fill=\"none\"\n stroke=\"currentColor\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"\n />\n </svg>\n </span>\n <span role=\"gridcell\">\n <span\n role=\"checkbox\"\n tabindex={this.disabled ? '-1' : '0'}\n aria-checked=\"false\"\n class=\"mdc-chip__text\"\n >\n {chip.text}\n </span>\n </span>\n {this.renderBadge(chip)}\n </div>\n );\n }\n\n private renderInputChip(chip: Chip, index: number) {\n return [\n <div\n class={{\n 'mdc-chip': true,\n 'mdc-chip--selected': this.inputChipIndexSelected === index,\n disabled: this.disabled,\n }}\n role=\"row\"\n id={`${chip.id}`}\n onClick={this.catchInputChipClicks}\n >\n {chip.icon ? this.renderChipIcon(chip) : null}\n {this.renderChipLabel(chip)}\n {this.renderChipRemoveButton(chip)}\n </div>,\n this.renderDelimiter(),\n ];\n }\n\n private catchInputChipClicks(event) {\n event.stopPropagation();\n }\n\n private renderChipIcon(chip: Chip) {\n const name = getIconName(chip.icon);\n const color = getIconColor(chip.icon, chip.iconFillColor);\n const backgroundColor = getIconBackgroundColor(\n chip.icon,\n chip.iconBackgroundColor,\n );\n const title = getIconTitle(chip.icon, chip.iconTitle);\n const style = {};\n if (color) {\n style['--icon-color'] = color;\n }\n\n if (backgroundColor) {\n style['--icon-background-color'] = backgroundColor;\n }\n\n return (\n <limel-icon\n class=\"mdc-chip__icon mdc-chip__icon--leading\"\n name={name}\n style={style}\n size=\"small\"\n badge={true}\n title={title}\n />\n );\n }\n\n private renderLeadingIcon() {\n if (!this.leadingIcon) {\n return;\n }\n\n return (\n <i class=\"mdc-text-field__icon search-icon\">\n <limel-icon name={this.leadingIcon} />\n </i>\n );\n }\n\n private renderChipRemoveButton(chip: Chip) {\n if (!chip.removable || this.readonly || this.disabled) {\n return;\n }\n\n const svgData = `<svg style=\"height:100%;width:100%;\" width=\"32\" height=\"32\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:svg=\"http://www.w3.org/2000/svg\">\n <line fill=\"none\" id=\"svg_1\" stroke=\"currentColor\" stroke-width=\"2\" x1=\"8\" x2=\"24\" y1=\"8\" y2=\"24\"/>\n <line fill=\"none\" id=\"svg_2\" stroke=\"currentColor\" stroke-width=\"2\" x1=\"24\" x2=\"8\" y1=\"8\" y2=\"24\"/>\n</svg>`;\n\n const removeFunc = (event: MouseEvent) => {\n event.stopPropagation();\n this.removeChip(chip.id);\n };\n\n return (\n <button\n class=\"mdc-chip__icon mdc-chip__icon--trailing mdc-deprecated-chip-trailing-action\"\n aria-label={this.removeChipLabel}\n tabindex=\"-1\"\n innerHTML={svgData}\n onClick={removeFunc}\n />\n );\n }\n\n private renderClearAllChipsButton() {\n if (this.disabled || this.readonly || !this.clearAllButton) {\n return;\n }\n\n return (\n <a\n href=\"\"\n onClick={this.handleDeleteAllIconClick}\n class=\"mdc-text-field__icon clear-all-button\"\n tabindex=\"0\"\n role=\"button\"\n title={this.clearAllChipsLabel()}\n aria-label={this.clearAllChipsLabel()}\n />\n );\n }\n\n private clearAllChipsLabel = (): string => {\n return translate.get('chip-set.clear-all', this.language);\n };\n\n private removeChipLabel = (): string => {\n return translate.get('chip-set.remove-chip', this.language);\n };\n\n private handleDeleteAllIconClick(event: Event) {\n event.preventDefault();\n this.change.emit([]);\n }\n\n private renderDelimiter() {\n if (!this.delimiter) {\n return;\n }\n\n return <div class=\"delimiter\">{this.delimiter}</div>;\n }\n\n private renderBadge(chip: Chip) {\n if (!chip.badge) {\n return;\n }\n\n return <limel-badge label={chip.badge} />;\n }\n\n private triggerIconColorWarning(value: Chip[]) {\n for (const chip of value) {\n if (\n chip.icon &&\n (chip.iconFillColor ||\n chip.iconBackgroundColor ||\n chip.iconTitle)\n ) {\n /* eslint-disable-next-line no-console */\n console.warn(\n \"The `iconFillColor`, `iconBackgroundColor`, and `iconTitle` props are deprecated now! Use the new `Icon` interface and instead of `iconColor: 'color-name', `iconBackgroundColor: 'color-name', and `iconTitle: 'title'`, write `icon { name: 'icon-name', color: 'color-name', backgroundColor: 'color-name', title: 'title' }`.\",\n );\n }\n }\n }\n}\n"],"version":3}